对不起,如果标题令人困惑,这就是我想要实现的目标。我有一个正在创建的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...
}
无法找到如何在该点设置缩进的方法。有什么想法吗?
答案 0 :(得分: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就会停止缩进。一旦混合内容元素关闭,缩进就会恢复。“