0

我有一个 PS 脚本,它创建一些 XML 并将值分配给 XElement。我需要将 XElement 的值包装在 CData 中。这是使用 System.Xml.Linq 我试过这个:

$newNode.Element("details").Value = '<![CDATA[Traceback:'+$_.Exception.toString()+']]>'

但是当我输出 xml 时,它会将“<”和“>”转换为 < 和 >。

4

2 回答 2

1

将类型对象添加XCData到您的元素

[Reflection.Assembly]::LoadWithPartialName("System.Xml.Linq") | Out-Null

[System.Xml.Linq.XCData] $cdata = New-Object -TypeName System.Xml.Linq.XCdata -ArgumentList "data"
[System.Xml.Linq.XElement] $element = New-Object -TypeName System.Xml.Linq.XElement -ArgumentList "test", $cdata
于 2013-04-17T08:56:49.350 回答
0

试试这个:

$cdata = $xml.CreateCDataSection($content)
$parent = $xml.GetElementsByTagName("TagName")[0]
$parent.AppendChild($cdata)
于 2012-09-28T16:10:12.497 回答