2
我想创建一个Powershell脚本,它可以自动解析XML,但只收集某些信息。Powershell XML解析
现在,我的脚本看起来与此类似。
[xml]$xml = Get-Content .\myxml.xml
$foo_sub_length = $xml.report.foos.foo.length - 1
$foo_looper = 0
$foo_looper_brackets = "[$foo_looper]"
if ($foo_sub_length -eq "") {$foo_looper_brackets = ""}
do {
$xml.report.foos.foo$foo_looper_brackets.bar
}
while ($foo_looper -le $foo_sub_length)
基本上,它需要经过并打印出所有的$ xml.report.foos.foo.bar值。当我运行此脚本时,我收到错误,
Unexpected token 'node_looper_brackets' in expression or statement.
At C:\Users\notarealuser\Desktop\xmlscript.ps1:10 char:55 #not reflective of the above script
+ CategoryInfo : ParserError: (foo_looper_brackets:String) [], ParseException
+ FullyQualifiedErrorId : UnexpectedToken
+ $xml.report.foos.foo$foo_looper_brackets <<<< .bar
为何或如何我的循环不工作任何想法?
嗯,如何将嵌套信息工作的任何想法?例如,说doc/title/foo1/bar2/info和doc/title/foo2/bar1/info等中的doc/title/foo1/bar1/info和info中的信息... – Ondaje
尝试使用xpath表达式,如'' // info''。无论它们碰巧在哪里,都可以找到所有'info'节点。 –
所以,为了澄清,我将能够做doc/title // foo // bar // info? – Ondaje