问题
我们想要分配一个属性,其内容已经包含 "
或 &
等实体。
在这个例子中,我们希望 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 的文档中也有说明:
最佳答案
解决方案
$elem = $xml.CreateElement("Site");
$elemAttr = $xml.CreateAttribute("Title");
$elemAttr.InnerXml = "Stack "Stacky" Overflow";
$elem.SetAttributeNode($elemAttr);
XML 输出:
<Site Title="Stack "Stacky" Overflow" />
关于xml - 在 XML 属性中包含与号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13222291/