从文件读取到xml文档,然后使用powershell将xml文档保存到文件

时间:2019-05-20 15:32:50

标签: powershell character-encoding xmldocument

我有一个Powershell脚本,其中正在执行以下操作:

$FilePath = "Somepath"
#XPath = "Some Xpath"
$Attribute = "Delimiter"
$Value="	"
$xml=new-object -TypeName System.Xml.XmlDocument 
$xml.Load($FilePath)
$a=$xml.selectSinglenode($XPath)
if ($a -eq $null) 
{
    throw "Cannot Load XPATH: $XPath from $FilePath"
}
if([system.string]::isnullorwhitespace($Attribute))
{
if (!($a.InnerXml -eq $Value)) 
{
    $a.InnerXml = $Value
}
} 
else 
{
if (!($a.($Attribute) -eq $Value))
{
    $a.($Attribute)= $Value
}
}       
$xml.Save($FilePath)

正在保存的文件具有该属性值的保存情况如下

 <Element Delimiter="&amp;#x9;">

我希望它在哪里

 <Element Delimiter="&#x9;">

我该如何实现?

1 个答案:

答案 0 :(得分:0)

您正在将$ Value设置为字符串“&”号,井号,小写字母x,数字9。因此,XML会按要求对它进行编码。

相反,

$Value=[char]0x0009

这是Unicode代码点U + 0009的单个UTF-16代码单元。