我正在尝试从字符串生成xml文件。一个元素在名称中有特殊字符,输出应如下所示:
<Discount %>10</Discount %>
我知道这是不允许的,但“不允许”意味着它完全不可能或者这只是一种不好的做法?
如果有可能,我该如何实现呢?
这是我的代码
StringBuilder stringBuilder = new StringBuilder();
using (XmlWriter xmlWriter = XmlWriter.Create(stringBuilder))
{
xmlWriter.WriteStartElement("Client");
xmlWriter.WriteElementString("Discount %", client.DiscountPercent.ToString());
xmlWriter.WriteEndElement();
xmlWriter.Flush();
XmlDocument outputXmlDocument = new XmlDocument();
outputXmlDocument.LoadXml(stringBuilder.ToString()); // throws this: System.Xml.XmlException: expected '>' (3E) but found '%' (25) Line 1, position 618.
File.WriteAllText(path, outputXmlDocument.SelectSingleNode("Tables").OuterXml);
}
答案 0 :(得分:1)
元素名称必须在一个单词中。
和%应该避免
考虑一下:
<Discount>
<DiscountPercent>
<Discount_Percent>