XmlWriterSettings.NewLineHandling 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示是否将输出中的换行符规范化。
public:
property System::Xml::NewLineHandling NewLineHandling { System::Xml::NewLineHandling get(); void set(System::Xml::NewLineHandling value); };
public System.Xml.NewLineHandling NewLineHandling { get; set; }
member this.NewLineHandling : System.Xml.NewLineHandling with get, set
Public Property NewLineHandling As NewLineHandling
属性值
NewLineHandling 值之一。 默认值为 Replace。
注解
在写入文本内容或属性值时,此设置适用。 NewLineHandling下面描述了每个值:
设置 Entitize 指示 XmlWriter 替换使用字符实体进行规范化 XmlReader 时不会保留的新行字符。 这在通过规范化 XmlReader读取输出的往返方案中非常有用。 在 中规范化时,其他规范化规则适用于往返的属性值,
\n
当\t
在 中规范化时, 和\r
将被替换为属性值中的XmlReader空格。设置 Replace 告知 XmlWriter 将新行字符替换为 属性中 NewLineChars 特定的字符 () 。 此设置还会将属性中的新行替换为字符实体以保留字符。 它也是默认值。
设置 None 告知 XmlWriter 保持输入不变。 如果不需要任何新行处理,则使用此设置。 当输出由 XmlReader 不执行任何规范化 ((例如 XmlTextReader ,具有默认设置的 )读取时,这非常有用。)
下表显示了 方法的 WriteString 输出,当根据属性设置提供输入值 NewLineHandling 时。 这些表在写入文本内容和写入属性值时显示输出。
Text Node Value:
\r\n | \n | \r | \t | |
---|---|---|---|---|
Entitize | &#D;\n | \n | &#D; | \t |
Replace | \r\n | \r\n | \r\n | \t |
无 | \r\n | \n | \r | \t |
Attribute Value:
\r\n | \n | \r | \t | |
---|---|---|---|---|
Entitize | &#D;&#A; | &#A; | &#D; | |
Replace | &#D;&#A; | &#A; | &#D; | |
无 | \r\n | \n | \r | \t |
注意
XmlWriter在 CDATA 节、注释或处理指令中写入内容时,具有以下行为。 新行永远不会替换为其字符实体,即使 NewLineHandling 属性设置为 Entitize也是如此。 这是因为在 CDATA 节、注释或处理指令中无法识别字符实体。 如果 属性 NewLineHandling 设置为 None 或 Replace,则行为与写入文本节点值时的行为相同。
下表描述了每个空白输入的规范化 XmlReader 返回结果。 有关详细信息,请参阅 W3C XML 1.0 建议的第 2.11 节和第 3.3.3 节。
注意
规范化读取器是由 方法创建XmlReader.Create的任何XmlReader对象。 这些对象始终执行属性的换行规范化和完全规范化。
XmlTextReader如果 对象的 属性设置为 true
,则对象Normalization也可以是规范化读取器。
\r\n | \n | \r | \t | |
---|---|---|---|---|
文本节点值 | \n | \n | \n | \t |
特性值 | 单一空间 | 单一空间 | 单一空间 | 单一空间 |