XMLWriter - setting DoNotEscapeUriAttributes and OutputMetho

本文关键字:and OutputMetho DoNotEscapeUriAttributes setting XMLWriter | 更新日期: 2023-09-27 18:00:59

我正在尝试创建一个具有以下属性的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.Html而CCD_ 8是CCD_ 9

XMLWriter - setting DoNotEscapeUriAttributes and OutputMetho

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

正如MSDN所解释的:"此设置由XSLT处理器设置,并由Visual Studio内部使用。">