问题
我们想要分配一个属性,其内容已经包含像"
or之类的实体&
。
在此示例中,我们希望 title 属性为Stack "Stacky" Overflow
:
$elem = $xml.CreateElement("Site");
$elem.SetAttribute("Title", "Stack "Stacky" Overflow");
但这会变成以下 XML 输出:
<Site Title="Stack &quot;Stacky&quot; Overflow" />
这种行为甚至在有关XmlElement.SetAttribute Method的文档中都有说明:
为了分配包含实体引用的属性值,用户必须创建一个XmlAttribute节点以及任何XmlText和 XmlEntityReference节点,构建适当的子树并使用 SetAttributeNode将其分配为属性值。