附加到现有XML时的XMLWriter格式

时间:2015-06-17 07:23:21

标签: c# .net xml xmlwriter xmltextwriter

我有一个现有的XML文件。新内容通过XmlWriter(或XmlTextWriter添加到其中,并不重要,因为两者都表现出相同的行为。)

问题:
新内容未使用缩进格式化。

XmlWriter的示例输出,Indent=trueIndentChars设置为空格:

<?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内容时获得缩进格式?

1 个答案:

答案 0 :(得分:0)

FWIW - 使用John Saunders建议的方法并转到XDocument就可以了。

新内容将附加到具有所需格式的现有文档中。