PowerShellを使用して設定ファイルを編集しています。次のように正確に出力する必要があります。 "<FieldDelimiter> &#9; </FieldDelimiter >"。もちろん、タブ文字を翻訳してタブ(白い空白)を書いています。私が得た最も近いものは、 "<FieldDelimiter> & amp;#9; </FieldDelimiter >"です。どのようにしてアンパサンド自体にファイルを書き込むことができますか?PowerShellからXMLで生の特殊文字を出力する
私は、ファイルに読んでいます:
[xml]$xml = (Get-Content $configFilePath)
...(skip some code)...
は、いくつかの子要素を追加:
$configuration = $xml.CreateElement("Configuration")
$newExtension = $xml.CreateElement("Extension")
$configuration.InnerXml = "
<DeviceInfo>
<FieldDelimiter>	</FieldDelimiter>
<UseFormattedValues>True</UseFormattedValues>
<NoHeader>True</NoHeader>
<FileExtension>txt</FileExtension>
</DeviceInfo>"
$newExtension.AppendChild($configuration)
...(more code skipped)...
$xml.Configuration.Extensions.Render.InsertAfter($newExtension, $csvNode)
は、ファイルを保存します。
出力は、元の投稿に記載されているようになります。私はあなたが示したことを試しました。私はPowerShellのためのバッククイック ""文字であり、それは動作しませんそれをエスケープしようとしました。私も$#38を使って試しました。上記のようにファイルに書き込まれます。 –
@AndrewHoltsclaw確かに私には分かりませんが、なぜこの形式で出力するのが "いいえ"なので、結果の内部テキスト「&#9;」をxmlパーサーで照会すれば、「 」私はあなたが欲しいと思うもの。 – zdan
これはSSRS設定ファイルです。 SSRSは をタブ文字として扱いますが、&#9は扱いません。タブ文字として(私はそれをテストした)。私は のほかに他の許容されるタブ文字があるかどうかはわかりませんが、そこにあるものを知っています(&#9)。 が受け入れ可能であることを考慮すると、HTMLエンティティを期待しているように見えるので、私が出力した内容にかかわらず、誰かがSSRSのもう1つの許容タブ文字を知っていない限り、 '&'のような単一のアンパサンドを単に書く方法を理解する必要があります設定ファイル。 –