2017-08-03 13 views
4

powershellを使ってxmlファイルからさまざまなデータを解析しようとすると、デバッグなどのために実際にさまざまな要素が何であるかを知ることができれば便利です。私はこのような何かを持っているのであれば:xml要素の実際の内容をPowerShellで印刷するにはどうすればいいですか?

[xml]$xmldoc = Get-Content doc.xml 
$node = $xmldoc.SelectSingleNode("contents/some/path/items/item[name='itemname']") 
$items = $xmldoc.contents.some.path.items 

write-host "items = [${items}], node = [${node}]" 

私は$アイテムと$ノードの内容を見ることができるようにしたいのですが、私が得るすべては、System.Xml.XmlDocumentのかSystem.Xml.XmlElementです。 items.Valueまたはitems.InnerTextを使用しようとしたときに空白が表示されるため、これらの要素の実際のテキストをどのように出力するのですか?

答えて

4

the XmlElement classを参照してください。具体的には、プロパティ。私はあなたが.InnerXmlまたは.OuterXmlの後にいると思う。

+0

それらのすべてについて空の戻り値が得られます。$ {node.IsEmpty}がnullを返す場合もあります。間違って印刷していますか?私はまったくのパワーシェルを知らない。 – Maxim

+0

'Write-Output" $($ items.OuterXml)$($ node.OuterXml) "' – gms0ulman

+0

これはうまくいくようですが、$ {}と$()の使用に関するガイドはありますか?等? – Maxim

関連する問題