在Xml元素名称

时间:2015-11-04 09:39:46

标签: c# xml

我正在尝试从字符串生成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);
}

1 个答案:

答案 0 :(得分:1)

元素名称必须在一个单词中。

和%应该避免

考虑一下:

<Discount>  
<DiscountPercent>  
<Discount_Percent>