Sam*_*abu 2 xml powershell powershell-2.0 xml-parsing
我有一个类似于下面的xml文件.
<Parameters>
<Parameter IsEncrypted="False">
<ParameterName>pRdGpInstallOptions</ParameterName>
<ParameterValue>Custom</ParameterValue>
</Parameter>
<Parameter IsEncrypted="False">
<ParameterName>pRdAccept</ParameterName>
<ParameterValue>true</ParameterValue>
</Parameter>
<Parameter IsEncrypted="False">
<ParameterName>pCboEditSQLServer</ParameterName>
<ParameterValue>MachineName\SQLEXPRESS</ParameterValue>
</Parameter>
</Parameters>
Run Code Online (Sandbox Code Playgroud)
我这里只复制了几个节点.实际上,真实文件可能有数百个参数节点.
我们不能对索引进行硬编码,因为它可能以任何顺序出现.我正在尝试检索与参数名称关联的SQL实例名称参数值"pCboEditSQLServer".
我想使用powershell检索此值.如何解析这个动态的xml文件?
$sql = $xml.Parameters.Parameter | Where-Object {$_.ParameterName -eq 'pCboEditSQLServer'}
$sql.ParameterValue
MachineName\SQLEXPRESS
Run Code Online (Sandbox Code Playgroud)
这是使用xpath的另一个选项(应该更快):
$path = "/Parameters/Parameter[ParameterName='pCboEditSQLServer']/ParameterValue"
$xml.SelectSingleNode($path).'#text'
Run Code Online (Sandbox Code Playgroud)
还有Select-Xmlcmdlet:
$sql = $xml | Select-Xml -XPath $path
$sql.Node.'#text'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3461 次 |
| 最近记录: |