我一直在尝试使用PowerShell解析XML文件的内容,并且已经取得了一些不错的进展,但是我遇到了一些我找不到答案的东西。我希望有人能为我指明正确的方向,或者帮助我理解如何在XML中获取包含在某些P标记中的某些内容的值。这里是我的XML文件的一个例子;
<?xml version="1.0"?>
<HVD version="2.0">
<Environment>
<p name="Version">10</p>
<p name="ID">258</p>
</Environment>
</HVD>
我可以通过使用以下方法在<Environment>
中显示名称标签,但我不知道如何从<p>
标记本身获取值;
[xml]$xml = Get-Content myFile.xml;
$xml.HVD.Environment;
这里有谁能帮助初学者吗?
发布于 2017-11-15 18:19:01
标记(10和258)之间的文本是p标记的thr innerText。因此,您需要获取环境标记的第一个/第二个元素,并读取它的innerText。
发布于 2017-11-15 18:42:47
试试这个:
[xml]$xml = get-content myfile.xml
$Version=($xml.HVD.Environment.P | where Name -eq 'version')."#text"
$ID=($xml.HVD.Environment.P | where Name -eq 'ID')."#text"
或者这个
$Version=$xml.HVD.Environment.P[0]."#text";
$ID=$xml.HVD.Environment.P[1]."#text";
https://stackoverflow.com/questions/47320447
复制