XML附加到现有内容时的 Writer 格式 XML
XMLWriter formatting when appending to existing XML
我有一个现有的 XML 文件。新内容通过 XmlWriter
(或 XmlTextWriter
添加到其中,这并不重要,因为两者表现出相同的行为)。
问题:
新内容没有缩进格式。
XmlWriter
的示例输出,Indent=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
效果很好。
新内容以所需格式附加到现有文档。
我有一个现有的 XML 文件。新内容通过 XmlWriter
(或 XmlTextWriter
添加到其中,这并不重要,因为两者表现出相同的行为)。
问题:
新内容没有缩进格式。
XmlWriter
的示例输出,Indent=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
效果很好。
新内容以所需格式附加到现有文档。