XMLツールのリプレイス作業をやっていて、新旧でパーサー違っててコンペアしづらいので、フォーマットそろえてコンバートしようとしていたんだけど。
.NET8.0だと、要素内の半角スペース1を維持しようとしてXMLファイルの読み込み時にPreserveWhitespace=true設定にすると、XmlWriterSettingsの設定が効かねぇ。
XmlWriterSettings頼みで整形しようと思っていたのに…。
要素内の半角スペースって無視されがちなのに、ホントに重要なのか…?という疑念も疑いつつ、回避策。
XMLファイイルをテキストとしてReadAllTextで読み取って、正規表現で要素内の半角スペース、全角スペースを別文字へ置換。…1
それからロードしてXmlWriterSettingsを設定してセーブ…2
2をReadAllTextして、半角スペース、全角スペースの別文字をそれぞれのスペースへ置換。…4
Nodeごとに読み込もうかと思ったけど、イマイチ網羅性に不安を感じるし、XmlWriterSettingsで整形した方が楽だもんな。
しかしほんとに要素内の半角スペースは要るんか…?🙄