0
我想從字符串中生成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);
}
這不是C#的問題。請檢查http://www.w3.org/TR/REC-xml/#NT-NameChar – qxg
如果您不確定元素名稱是否有效,可以使用['XmlConvert.EncodeLocalName(string)'](https: //msdn.microsoft.com/en-us/library/system.xml.xmlconvert.encodelocalname%28v=vs.110%29.aspx)以確保名稱格式正確。 ['XmlConvert.DecodeName(string)'](https://msdn.microsoft.com/en-us/library/system.xml.xmlconvert.decodename(v = vs.110).aspx)是相反的。 – dbc
考慮使用屬性' 10 ' –