既存のXMLファイルがあります。新しいコンテンツは、を介して追加されますXmlWriter
(またはXmlTextWriter
、どちらも同じ動作を示すため、どちらでもかまいません)。
問題:
新しいコンテンツがインデントでフォーマットされていません。
XmlWriter
withIndent=true
およびIndentChars
spaceに設定されたサンプル出力:
<?xml version="1.0"?>
<RootContext Type="ETSP">
<Root><Element1>1</Element1><Element2>2</Element2><Element3>3</Element3><Element4>4</Element4><Element5>5</Element5></Root></RootContext>
このサンプルコードを使用して、既存のXMLに追加する追加のXMLコンテンツを作成します(<RootContext Type="ETSP"> ...
):
XElement srcTree = new XElement("Root",
new XElement("Element1", 1),
new XElement("Element2", 2),
new XElement("Element3", 3),
new XElement("Element4", 4),
new XElement("Element5", 5));
追加する既存のXMLはXmlTextReader
/を介して読み取られますXElement.Load()
。
現在: これは、同じ設定を使用して、上から生成されたスニペットのみを含む新しいXMLを作成するときに発生します。
<?xml version="1.0"?>
<Root>
<Element1>1</Element1>
<Element2>2</Element2>
<Element3>3</Element3>
<Element4>4</Element4>
<Element5>5</Element5>
</Root>
すごい。適切にインデントされ、フォーマットされています-まさに私が欲しいものです。
さて、既存のXMLコンテンツに追加するときに、インデントされたフォーマットを取得するにはどうすればよいですか?
FWIW-John Saundersによって提案されたアプローチを使用し、XDocument
問題なく機能します。
新しいコンテンツは、必要な形式で既存のドキュメントに追加されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加