问题

我们想要分配一个属性,其内容已经包含 "& 等实体。

在这个例子中,我们希望 title 属性是 Stack "Stacky" Overflow :

$elem = $xml.CreateElement("Site");
$elem.SetAttribute("Title", "Stack "Stacky" Overflow");

但这变成了以下 XML 输出:

<Site Title="Stack &amp;quot;Stacky&amp;quot; Overflow" />

这种行为甚至在关于 XmlElement.SetAttribute Method 的文档中也有说明:

最佳答案

解决方案

$elem = $xml.CreateElement("Site");

$elemAttr = $xml.CreateAttribute("Title");
$elemAttr.InnerXml = "Stack &quot;Stacky&quot; Overflow";

$elem.SetAttributeNode($elemAttr);

XML 输出:
<Site Title="Stack &quot;Stacky&quot; Overflow" />

关于xml - 在 XML 属性中包含与号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13222291/

10-12 00:27
查看更多