如何使用Powershell访问CDATA中的XML数据
我对Powershell很陌生,所以如果这是个简单的问题,请容忍我。我试图访问CDATA标记中的信息,但似乎无法访问。这是xml文件: example.xml如何使用Powershell访问CDATA中的XML数据,xml,windows,powershell,cdata,Xml,Windows,Powershell,Cdata,我对Powershell很陌生,所以如果这是个简单的问题,请容忍我。我试图访问CDATA标记中的信息,但似乎无法访问。这是xml文件: example.xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <fooMaster> <fooFirst>Hello there</fooFirst> <foo
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fooMaster>
<fooFirst>Hello there</fooFirst>
<fooCDATA>
<![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<fooChild>
<data>
Hello everyone
</data>
</fooChild>]]>
</fooCDATA>
</fooMaster>
$file.fooMaster.fooFirst
工作正常,并在那里显示Hello
,但该行下方的行不起作用。我在某个地方读到,添加#cdata部分
会在cdata标记中显示信息,确实如此!但它将所有内容都显示为纯文本,是否有一种方法不仅可以访问CDATA中的信息,还可以像普通xml一样使用它。要访问CDATA中的元素,请进入另一个变量:
[xml]$cdata = $file.fooMaster.fooCDATA."#cdata-section"
write-Host "data contains: $($cdata.fooChild.data.tostring().trim())
[xml]$cdata = $file.fooMaster.fooCDATA."#cdata-section"
write-Host "data contains: $($cdata.fooChild.data.tostring().trim())