Чтение из файла в XML-документ, а затем сохранение XML-документа в файл с помощью PowerShell - PullRequest
0 голосов
/ 20 мая 2019

У меня есть скрипт 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 голосов
/ 21 мая 2019

Вы устанавливаете $ Value в строку амперсанд, знак решетки, строчные буквы x, цифру 9. Таким образом, XML должным образом кодирует его, как требуется.

Вместо этого

$Value=[char]0x0009

которая является единичной кодовой единицей UTF-16 для кодовой точки Unicode U + 0009.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...