私は自分の仕事で .NET XML テクノロジを非常に広範囲に使用しています。私がとても気に入っていることの 1 つは XSLT エンジン、より正確にはその拡張性です。ただし、煩わしさの源であり続ける小さなピースが1つあります。大したことも、我慢できないこともありませんが、作成したい美しい XML を作成することが妨げられています。
私たちが行っていることの 1 つは、ノードをインラインで変換し、ある XML ドキュメントから別の XML ドキュメントにノードをインポートすることです。
悲しいことに、ノードを に保存するとXmlTextWriter
(実際にXmlWriter.Create(Stream)
は返されるものは何でも)、名前空間の定義は、必要である (以前に定義された) かどうかに関係なく、そこにすべてスローされます。次のような xml を取得します。
<root xmlns:abx="http://bladibla">
<abx:child id="A">
<grandchild id="B">
<abx:grandgrandchild xmlns:abx="http://bladibla" />
</grandchild>
</abx:child>
</root>
名前空間の定義に関して .NET が効率的であるように説得する方法について、誰か提案はありますか?
PS。追加のボーナスとして、デフォルトの名前空間をオーバーライドして、ノードを作成するときに変更したいと思います。