私はさまざまな文字の通常のHTML名を含む入力XMLファイルを持っています。二重引用符= "
などPowershell - xml
<Notes>Double Quote " Single Quote &pos; Ampersand &</Notes>
<?xml version="1.0" encoding="UTF-8"?>
<OrganisationUnits>
<OrganisationUnitsRow num="8">
<OrganisationId>ACME24/7HOME</OrganisationId>
<OrganisationName>ACME LTD</OrganisationName>
<Notes>Double Quote " Single Quote &pos; Ampersand & </Notes>
<Sector>P</Sector>
<SectorDesc>Private Private & Voluntary</SectorDesc>
</OrganisationUnitsRow>
</OrganisationUnits>
前
<?xml version="1.0" encoding="UTF-8"?>
<OrganisationUnits>
<OrganisationUnitsRow num="8">
<OrganisationId>ACME24/7HOME</OrganisationId>
<OrganisationName>ACME LTD</OrganisationName>
<Notes>Double Quote " Single Quote ' Ampersand &</Notes>
<Sector>P</Sector>
<SectorDesc>Private Private & Voluntary</SectorDesc>
</OrganisationUnitsRow>
</OrganisationUnits>
た後、私はXMLとしてファイルを扱っておりますし、それは何も、非常に凝った、[OK]を処理します。 "
のような出力が保存されている
$xml = [xml](Get-Content $path\$File)
foreach ($CMCAddressesRow in $xml.OrganisationUnits.OrganisationUnitsRow) {
blah
blah
}
$xml.Save("$path\$File")
すべてのHTMLコードが"
に置き換えられます。 元のHTML "
文字はどのように保持できますか?さらに重要なのはなぜそれが起こっているかです。
XMLファイルの6行目に '&apos'が必要ですか? – lit
System.Net.WebUtility.HtmlDecodeとSystem.Net.WebUtility.HtmlEncode – jdweng
"と&aposの置換は、ファイルが[xml]として読み取られたときに既に発生しているようです。 – lit