1

我正在使用 XmlWriter 以编程方式构建 XML 字符串...

sb = New StringBuilder()
writer = XmlWriter.Create(sb)

writer.WriteStartDocument()
writer.WriteStartElement("root")

writer.WriteStartElement("element1")
writer.WriteAttributeString("myattribute", "myvalue")
writer.WriteEndElement()

writer.WriteEndElement()
writer.WriteEndDocument()

writer.Flush()

myTextBox.text = "<pre>" & Return sb.ToString() & "</pre>"

我希望能够将 XML 输出到 ASP.NET 网络表单上的 TextBox 控件。当我输出 XML 时,XML 中没有任何换行符或缩进。XmlWriter似乎没有任何属性来设置格式。有没有保留格式和缩进?谢谢你。

4

2 回答 2

3

使用 XmlWriterSettings 类实例指定缩进和换行符的使用,然后将其传递给 xmlWriter 的 Create 方法。请参阅此处的文档。

于 2011-02-28T19:20:57.010 回答
0

尝试这个

  StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter();
        XmlTextWriter writer = new XmlTextWriter(sw);

        writer.Formatting = Formatting.Indented;


        // Write Xml Declaration with version 1.0 
        writer.WriteStartDocument();


        // Write Xml Document Root Element
        writer.WriteStartElement("Product");


        // Write attribute name and value to current Element 
        writer.WriteAttributeString("ProductID", "01");


        // Write Xml Element with Name and Inner Text
        writer.WriteElementString("ProductName", "P-Name");
        writer.WriteElementString("ProductQuantity","P-Quantity");
        writer.WriteElementString("ProductPrice", "P-Price");

        // Write Product Element closing Tag
        writer.WriteEndElement();

        // Write End of Document 
        writer.WriteEndDocument();

        // Flush and Close Writer
        writer.Flush();

        textBox1.Text = sw.ToString();
于 2011-02-28T19:30:56.753 回答