2009-08-13 12 views
12

Ho difficoltà a leggere un file XML con Cdata all'interno.Come leggere CDATA nel file XML con PowerShell?

a $ 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 sarà nullo mentre $ topic.topicTitle non sarà. Qualche idea?

risposta

21

$topic.topicDetail."#cdata-section"

o

$topic.topicDetail.InnerText

+0

Grazie! Ho quindi utilizzato . Get_FirstChild(). Get_Data() per accedervi. – puttputt

+2

Bello. Nota che puoi anche impostare * CDATA in questo modo: '$ topic.topicDetail." # Cdata-section "=" foo "... $ xml.Save ($ path)' –