2009-08-13 17 views
12

Mam trudny czas czytając plik XML z Cdata wewnątrz.Jak odczytać CDATA w pliku XML za pomocą PowerShell?

w $ 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 będzie null podczas $ topic.topicTitle nie będzie. Jakieś pomysły?

Odpowiedz

21

$topic.topicDetail."#cdata-section"

lub

$topic.topicDetail.InnerText

+0

Dzięki! Następnie użyłem .get_FirstChild(). Get_Data(), aby uzyskać do niego dostęp. – puttputt

+2

Nice. Zauważ, że możesz również * ustawić * CDATA w ten sposób: '$ topic.topicDetail." # Cdata-section "=" foo "... $ xml.Save ($ path)' –