快速方式SqlXml到C#中的XmlDocument用于SQLCLR功能?

时间:2016-01-13 14:02:30

标签: c# sql-server xml sql-server-2012 sqlclr

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

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

我的代码是:

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

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

其中ValueString是我的SqlXml

1 个答案:

答案 0 :(得分:3)

首先,即使.ToString().Value返回相同的字符串值,最好使用ValueString.Value以便在访问{{1}内的值时保持一致性类型。

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

Sql*