我有一些XML,看起來像這樣:部隊XML字符實體到XmlDocument的
<abc x="{"></abc>
我想迫使XmlDocument的使用括號中的XML字符實體,即:
<abc x="{"></abc>
MSDN這樣說:
爲了分配一個包含實體引用的屬性值 , 用戶必須創建一個XmlAttribute節點 加上任何XMLTEXT和 XmlEntityReference節點,建立 適當的子樹,並使用 使用setAttributeNode將其指定爲一個屬性的 值。
CreateEntityReference聽起來前途,所以我想這:
XmlDocument doc = new XmlDocument();
doc.LoadXml("<abc />");
XmlAttribute x = doc.CreateAttribute("x");
x.AppendChild(doc.CreateEntityReference("#123"));
doc.DocumentElement.Attributes.Append(x);
而我得到的異常Cannot create an 'EntityReference' node with a name starting with '#'.
有什麼理由CreateEntityReference不喜歡 '#' - 更重要的是如何能我將字符實體放入XmlDocument的XML中?它甚至有可能嗎?我希望避免字符串操作的OuterXml ...
夢幻般的答案。我有一種感覺,我認爲「{」不會被內部表示爲{,所以XmlDocument不會「保留」該表示。 – TesterTurnedDeveloper 2010-09-08 06:45:17