ドキュメントにエラーが含まれているため、実際に[xml]を使用してXMLドキュメントとしてロードせずに、Powershellを使用してファイルから次のXMLを解析しようとしています。
<data>
<company>Walter & Cooper</company>
<contact_name>Patrick O'Brian</contact_name>
</data>
ドキュメントを正常にロードするには、次のように特殊文字を置き換えてエラーを修正する必要があります
& with &
< with <
' with ' etc..
ドキュメント内の文字を検索して置換するために、このようなことができることを知っています
(Get-Content $fileName) | Foreach-Object {
$_-replace '&', '&' `
-replace "'", "'" `
-replace '"', '"'} | Set-Content $fileName
しかし、これはファイル内のあらゆる場所の文字を置き換えます。私は <company> のような xml タグ内の文字をチェックし、それらを xml の安全なエンティティに置き換えて、結果のテキストが [xml] を使用してロードできる有効なドキュメントになるようにすることにのみ関心があります。