Powershell 如何从带有节点的函数返回XML文件?
我有一个简单的XMLPowershell 如何从带有节点的函数返回XML文件?,powershell,powershell-2.0,powershell-3.0,powershell-4.0,Powershell,Powershell 2.0,Powershell 3.0,Powershell 4.0,我有一个简单的XML <bds> <bd> <id>10</id> <user>john</user> <servers> <name>pc24</name> </servers> </bd> <bd> <id>12</id> <user>peter&l
<bds>
<bd>
<id>10</id>
<user>john</user>
<servers>
<name>pc24</name>
</servers>
</bd>
<bd>
<id>12</id>
<user>peter</user>
<servers>
<name>pc25</name>
</servers>
</bd>
我希望函数的输出为:
<id>12</id>
<user>peter</user>
<servers>
<name>pc25</name>
</servers>
12
彼得
pc25
如何在函数返回时生成XML文件?您可以使用稍微智能一点的XPath来选择节点,然后使用
InnerXml
属性来获取所需的输出字符串:
PS>$xml=[xml]@”
10
厕所
pc24
12
彼得
pc25
"@
PS>$xml.SelectNodes(“bds/bd[servers/name='pc25']”)。InnerXml
12peterpc25
注-bds/bd[servers/name='pc25']
表示“查找所有bds/bd
节点,这些节点都有一个子servers/name
节点,其值为pc25
”
然后,您可以使用XPath字符串中的变量值(视情况而定)将其重新装配到函数中…输出不是XML。没有顶部节点。输入也不是XML,缺少标记。您的PowerShell版本是什么?为什么要用你能找到的所有
PowerShell
标记来标记这个?
<id>12</id>
<user>peter</user>
<servers>
<name>pc25</name>
</servers>