前提・実現したいこと
こんちには。
現在、C#にてXMLファイルを出力するアプリケーションを作っています。
XML自体の出力はできるのですが、空の要素や属性が多数あり見た目が非常に悪いです。
そのため、空の要素や属性をすべて削除する機能を実装させたいのですが、
私の知識では冗長性のあるコードしか書けなかったため、
どうすればスマートな実装ができるか、皆さんの意見をお聞きしたく質問させていただきました。
このようなXmlを
Xml
1<root> 2 <Name>hogehoge</Name> 3 <Desc>hoge is hoge</Desc> 4 <Category></Category> 5 <Test/> 6 <Features> 7 <Feature From=""> 8 ... 9 </Feature> 10 </Features> 11</root>
このように出力したいです。
Xml
1<root> 2 <Name>hogehoge</Name> 3 <Desc>hoge is hoge</Desc> 4 <Features> 5 <Feature> 6 ... 7 </Feature> 8 </Features> 9</root>
できればコードだけで行いたいのですが
「コードだけでは難しい、こういう方法ならもっと楽」
という方法があれば教えていただけると幸いです。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
開発環境:
Visual Studio 2017
C# WPF アプリケーション
.NET FW 4.7
追記
このXmlファイルは、私ではない人が編集することも考えられるものなので見た目の悪いものはできるだけ作りたくありません。
Xmlを構成するタグは独自タグなので、<br/>や<img>のalt属性など、消すと問題があるかもしれないものは含まれていないと思っていただいて構いません。
また、このXmlファイルは別のアプリケーション(自作のものではない)で読み込むためのXmlです。
そのため、使わない属性等があると誤作動を起こす可能性があります。
なので、できるだけ使わない属性を排除したいというのが考えです。
この考え方そのものが間違っている可能性もありますが……。
Xmlについては殆ど知らないといっても過言ではないので、まずそもそもが間違っているという場合は指摘してください。
情報の不足、大変申し訳ありませんでした。
回答5件
あなたの回答
tips
プレビュー