如何使用Powershell读取XML中的特定行

时间:2016-10-14 19:38:09

标签: xml powershell

我有两个文件,C:\Old\test.xmlC:\New\Test.xml。 它们有两个版本,因此我需要在遍历文件节点之前确定哪个版本。

C:\Old\Test.xml的标题信息:

<?OurCompanyName ?>
<?xml-stylesheet type="text/xsl" href="fieldref.xsl"?>
<ROOT ThisVersion="2.2.91">

C:\New\Test.xml的标题信息:

<?xml version="1.0" encoding="utf-8"?>
<?OurCompanyName?>
<Project xmlns:ThisVersion="6.0.55.0">

有些成员正在使用新版本,有些正在使用旧版本,但它们位于同一位置,因此我需要相应地阅读版本和分支。 我现在正在做:

[xml]$ETLFile = Get-Content C:\New\Test.xml

我想知道的是我如何阅读任何一个文件并说: 如果ThisVersion为6或更高,则执行任何操作,否则执行其他操作。

1 个答案:

答案 0 :(得分:1)

将属性ThisVersion的值转换为version对象并检查其Major属性:

if (([version]$ETLFile.DocumentElement.ThisVersion).Major -ge 6) {
  # do some
} else {
  # do other
}