次の xml があるとします。
<foo bar="&foobar">some text</foo>
エスケープせずに bar 属性の値を取得する必要があります。これまでに PowerShell で試したすべての方法で、次の値が得られます。
&foobar
これではなく:
&foobar
永続化するには、適切にエスケープされたリテラルの値が必要なので、後者が必要です。
私がこれを行う場合:
[xml]$xml = "<foo bar='&foobar'>some text</foo>"
$xml.foo.bar
属性値はエスケープされていません (つまり、&foobar)。
私がこれを行う場合:
$val = $xml | select-xml "/foo/@bar"
$val.Node.Value
属性値はエスケープされていません (つまり、&foobar)。
PowerShell を使用して属性の元のエスケープされた値を確実に取得するための最良の方法は何ですか?