在 C# 中将 SqlXml 转换为 XmlDocument 以获得 SQLCLR 函数的快速方法?

Quick way SqlXml to XmlDocument in C# for a SQLCLR function?

在没有中间 string 的情况下将 SqlXml 加载到 XmlDocument(如果有)的更好方法是什么?

我需要使用 CLR UDF 中数据库中的 xsd 来验证 xml。我尝试优化我的代码。

我的代码是:

        schema1 = XmlSchema.Read(new StringReader(cXmlSchemaText), ValidateSchema);

        asset1.Schemas.Add(schema1);
        asset1.LoadXml(ValueString.ToString());
        asset1.Validate(ValidateXmlValue);

其中 ValueString 是我的 SqlXml

首先,即使 .ToString().Value 返回相同的字符串值,为了在 ValueString.Value 中访问值的一致性,最好使用 ValueString.Value =14=] 类型。

您应该能够使用 SqlXml.CreateReader 方法跳过中间字符串,根据文档,该方法应该返回 SqlXml 变量的内部 XmlReader。您的代码将稍微更改为:

asset1.Load(ValueString.CreateReader());