在C#中,将"<?"
添加到System.Xml.Linq.XText
值属性时,XML字符串输出显示为"<?"
而不是"<?"
。
如何将"<?"
添加到System.Xml.Linq.XText
值属性,使字符串输出为"<?"
?
答案 0 :(得分:0)
<
是<
的编码版本。
<
不能位于XML标记内,因为它具有特殊含义(新标记的开放)。
所以一切都很好,当你再次阅读XML时会得到正确的读取。
答案 1 :(得分:0)
听起来像XY Problem。
如果您确实要将<?
添加到XText
,<
必须由<
实体进行转义;否则,你会使xml损坏。
但是,如果您确实想要向XML添加流程指令,例如<?xml-stylesheet type="text/xsl" href="mystyles.xsl"?>
,那么就这样做:
var myXml = new XDocument();
var proc = new XProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"mystyles.xsl\"");
myXml.Add(proc);