2011-02-28 48 views
1

我建立一個XML字符串編程使用的XmlWriter ...使用XmlWriter格式化將XML輸出到ASP.NET TextBox?

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 Web窗體TextBox控件。當我輸出XML時,我不會在XML中出現任何換行符或縮進。 XmlWriter似乎沒有任何屬性來設置格式。無論如何要保留格式和縮進?謝謝。

回答

3

使用XmlWriterSettings類實例指定縮進和換行符的用法,然後將其傳遞到xmlWriter的Create方法中。請參閱文檔here

+0

感謝您的鏈接的文檔。那裏列舉了一個好例子 – webworm 2011-03-01 15:43:56

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(); 
+1

-1:不要使用'new XmlTextWriter()'。從.NET 2.0開始已經被棄用了。改爲使用'XmlWriter.Create()'。 – 2011-02-28 20:23:32

+0

+1很好的例子。謝謝。 – webworm 2011-03-01 15:43:10