使用MS Visual Studio 2013创建C#应用程序,我试图在XML文档中获取以下输出。
<UnitsOfMeasure>
&uom-data;
</UnitsOfMeasure>
我一直在
<UnitsOfMeasure>
&uom-data;
</UnitsOfMeasure>
这是我试过的代码
XElement uom = new XElement("UnitsOfMeasure");
uom.Add("\n" + tab2, new XText("&uom-data;"), "\n" + tab1);
sd.Add("\n" + tab1, uom);
sd.Add("\n");
XElement uom = new XElement("UnitsOfMeasure");
uom.Add("\n" + tab2, new XText((char)38 + "uom-data;"), "\n" + tab1);
sd.Add("\n" + tab1, uom);
sd.Add("\n");
由于
答案 0 :(得分:0)
问题在于&amp;在XML中有特殊含义 - 它用于逃避其他事物;例如,请参阅beware of the ampersand when using xml。正在为您编写的是在XML中包含&符号的正确方法,当XML解析器重新读入时,它应该转换&amp;回到&amp;。
所以,或许,如果有的话,你可能会遇到任何代码再次读取XML的问题,因为它应该为你转换它。
答案 1 :(得分:0)
XML有一些名为&#34; entities&#34;的东西,其格式为ampersand-characters-semicolon
。
XML实体是不同文本块的别名(尽管在大多数情况下,实体仅用于插入单个字符 - 通常不在键盘上的字符)
&
是最常用的 - 插入&
。 ©
用于版权符号。
除了标准版之外,您还可以自己定义。
您尝试输入的内容 - &uom-data;
- 如此巧妙地遵循实体格式,我怀疑它确实是一个实体而您只是错过了它定义的部分