0

抱歉,如果标题令人困惑,这就是我想要实现的目标。我有一个正在创建并传递给方法的 XmlWriter 对象

public static void foo(XmlWriter xw)
{
   xw.WriteStartElement("root");
}

此时 XmlWriter 被实例化,并且 Xml 声明已经被写入。现在,在写入根元素之后,我需要将 XmlWriter 上的 Indent 属性设置为 true(在创建 XmlWriter 时将其设置为 false)。像这样的东西

public static void foo(XmlWriter xw)
{
   xw.WriteStartElement("root");
   // xw.Settings.Indent = true; - I know this won't work
   // continue writing elements...
}

那时找不到如何设置缩进的方法。有任何想法吗 ?

4

1 回答 1

0

使用 XmlTextWriter。然后,您可以将 Indentation 属性设置为要缩进的空格数。http://msdn.microsoft.com/en-us/library/system.xml.xmltextwriter.indentation.aspx

要使用 Indent 属性,您不能有混合内容 http://msdn.microsoft.com/en-us/library/system.xml.xmlwritersettings.indent.aspx

“只要元素不包含混合内容,元素就会缩进。一旦调用 WriteString 或 WriteWhitespace 方法写出混合元素内容,XmlWriter 就会停止缩进。一旦混合内容元素关闭,缩进就会恢复。”

于 2013-01-09T16:29:48.403 回答