【问题标题】:XMLWriter - setting DoNotEscapeUriAttributes and OutputMethodXMLWriter - 设置 DoNotEscapeUriAttributes 和 OutputMethod
【发布时间】:2014-04-30 10:05:49
【问题描述】:

我正在尝试创建具有以下属性的 XMLWriter

OutputMethod = XmlOutputMethod.Html
DoNotEscapeUriAttributes = true

OutputMethod 无法使用此设置:

var stringBuilder = new StringBuilder();

var xslCompiledTransformObj = new XslCompiledTransform();
xslCompiledTransformObj.Load(typeof(TransRep));

XmlWriterSettings settings = new XmlWriterSettings() { 
                                 DoNotEscapeUriAttributes = true,
                               //OutputMethod = xslCompiledTransformObj.OutputSettings.OutputMethod
                              };

var xmlWriter = XmlWriter.Create(stringBuilder, settings);

这会将xslCompiledTransformObj.OutputSettings.OutputMethod 设置为XmlOutputMethod.Xml(默认值)

DoNotEscapeUriattributes无法使用此方法设置:

var stringBuilder = new StringBuilder();

var xslCompiledTransformObj = new XslCompiledTransform();
xslCompiledTransformObj.Load(typeof(TransRep));

//The following line does not work:
//xslCompiledTransformObj.OutputSettings.DoNotEscapeUriAttributes = true;
var xmlWriter = XmlWriter.Create(stringBuilder, settings);

这会将xslCompiledTransformObj.OutputSettings.OutputMethod 设置为XmlOutputMethod.HtmlDoNotEscapeUriAttributesfalse

【问题讨论】:

    标签: c# xml xml-parsing xmlwriter


    【解决方案1】:

    XmlOutputMethod 不是公开的,通过其他机制(如反射)更改它不会有预期的结果。

    As explained by MSDN: "此设置由 XSLT 处理器设置,由 Visual Studio 内部使用。"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多