2009-08-13 32 views
12

我很难用Cdata读取XML文件。如何使用PowerShell读取XML文件中的CDATA?

在$ xmlsource

<list> 
    <topic> 
    <topicTitle>Test</topicTitle> 
    <topicDetail><![CDATA[<br>randomHTMLhere</br>]]></topicDetail> 
    </topic> 
</list> 

PowerShell的

[xml]$xml = get-content $xmlsource  

foreach ($topic in $xml.list) { 
    $topic.topicTitle 
    $topic.topicDetail 
} 

$ topic.topicDetail将是无效的,而$ topic.topicTitle不会。有任何想法吗?

回答

21

$topic.topicDetail."#cdata-section"

$topic.topicDetail.InnerText

+0

谢谢!然后我用 .get_FirstChild()。get_Data()来访问它。 – puttputt 2009-08-13 20:17:16

+2

不错。请注意,你也可以像这样设置CDATA:'$ topic.topicDetail。“#cdata-section”=“foo”... $ xml.Save($ path)'' – 2016-11-29 19:48:31