Powershell方法1)确定XML值是否存在,2)替换值
我几乎不使用Powershell,更不用说XML了,所以希望这些都是相当简单的问题。提前感谢。以下是一些如何处理XML数据的示例:Powershell方法1)确定XML值是否存在,2)替换值,xml,powershell,Xml,Powershell,我几乎不使用Powershell,更不用说XML了,所以希望这些都是相当简单的问题。提前感谢。以下是一些如何处理XML数据的示例: #反序列化XML文本选项1。 #这在语法上比较简单,但容易受到编码问题的影响。 [xml]$xml=Get Content-Path TestFile.xml #反序列化XML文本选项2。必须在加载方法中使用完整路径。 $xml=[xml]::new() $xml.Load('C:\Temp\TestFile.xml') #更新节点属性1值 $xml.Test1.T
#反序列化XML文本选项1。
#这在语法上比较简单,但容易受到编码问题的影响。
[xml]$xml=Get Content-Path TestFile.xml
#反序列化XML文本选项2。必须在加载方法中使用完整路径。
$xml=[xml]::new()
$xml.Load('C:\Temp\TestFile.xml')
#更新节点属性1值
$xml.Test1.Test1Properties.Property1='新值'
#如果SourceType节点的值为None,则返回True
$xml.Test1.Test1Sources.Source1.SourceType-ceq'None'
#如果Source2Property作为Source2的子节点存在,则返回True
$xml.SelectSingleNode(“//Test1/Test1Sources/Source2/Source2Properties”)-is[System.xml.xmlement]
#将结果保存在xml文件中。必须在Save()方法中使用完整路径。
$xml.Save('C:\temp\TestFile.xml')
以下是一些如何处理XML数据的示例:
#反序列化XML文本选项1。
#这在语法上比较简单,但容易受到编码问题的影响。
[xml]$xml=Get Content-Path TestFile.xml
#反序列化XML文本选项2。必须在加载方法中使用完整路径。
$xml=[xml]::new()
$xml.Load('C:\Temp\TestFile.xml')
#更新节点属性1值
$xml.Test1.Test1Properties.Property1='新值'
#如果SourceType节点的值为None,则返回True
$xml.Test1.Test1Sources.Source1.SourceType-ceq'None'
#如果Source2Property作为Source2的子节点存在,则返回True
$xml.SelectSingleNode(“//Test1/Test1Sources/Source2/Source2Properties”)-is[System.xml.xmlement]
#将结果保存在xml文件中。必须在Save()方法中使用完整路径。
$xml.Save('C:\temp\TestFile.xml')
简洁、高效、有文件证明的答案中所需的一切。非常感谢!在一个简洁、高效、有文件证明的答案中所需的一切。非常感谢!
<?xml version="1.0" encoding="utf-8"?>
<Test1>
<Test1Properties>
<Property1>replace this</Property1>
</Test1Properties>
<Test1Sources>
<Source1>
<SourceReference>sourceref</SourceReference>
<SourceType>None</SourceType>
</Source1>
<Source2>
<Source2Properties>
<Provider>prov</Provider>
<ProviderKey>some-guid</ProviderKey>
</Source2Properties>
</Source2>
</Test1Sources>
</Test1>
[xml]$xmlAttr = Get-Content -Path TestFile.xml