2009-08-13 28 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