使用PowerShell解析XML文件

问题描述:

了解XML代码如何与我在这里一起工作。使用PowerShell解析XML文件

<content> 
<text id="new-users"> 
<Chinese>Nuevos usuarios</Chinese> 
<English>New Users</English> 
</text> 
<text id="create-an-account"> 
<Chinese>Crear una Cuenta</Chinese> 
<English>Create an Account</English> 
</text> 

我想拉的所有<英语的英文文本>测试< /英语> ,并把它列出,则添加一个逗号结束。 导出为ex​​cel。

我不明白powershell在做什么我有点失落。我可以通过“文本”打印很多次,然后查看打印出来的内容,然后用一种排序方式将内容打印出来,只打印英文,而不起作用。

+1

你能告诉我们什么PowerShell脚本你到目前为止写的吗? – MrKWatkins

所以有几种方法可以获得数据。这里是XPath方式:

[xml]$x = Get-Content C:\Path\To\File.xml 
$x.SelectNodes('//text/English') | Export-CSV C:\Path\To\Result.csv -NoTypeInfo 
+1

是不是$ x.SelectNodes(“// English”)够了? – manojlds

+0

也许,我只是倾向于更加明确地出于习惯。 – EBGreen

一种方法是:

[xml] $xml = gc file.xml 
$xml.content.text | select English | Export-CSV test.csv -notype 
+0

我想你可能是说这个评论是在我的答案上,但你可能是对的,它就足够了。 – EBGreen

+0

@EBGreen - 哈哈,对不起甚至没有意识到我已经评论过我自己的回答:) – manojlds