我有一些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