2009-08-25 4 views

Antwort

4

Am besten verwenden Sie die Klasse XmlTextWriter.

Hier ist ein recht einfaches Beispiel:

var writer = new XmlTextWriter("Foo.xml", Encoding.UTF8); 
writer.WriteStartDocument(); 
writer.WriteStartElement("Foo"); 
writer.WriteAttributeString("hello", "world"); 
writer.WriteEndElement(); 
writer.WriteEndDocument(); 
writer.Close(); 

Diese Sie geben:

<?xml version="1.0" encoding="utf-8"?> 
<Foo hello="world" /> 
1

Hier ist ein Code-Snippet, das funktioniert:

XmlTextWriter myXW = new XmlTextWriter(@"C:\NewXmlFile.xml", Encoding.UTF8) 
myXW.WriteStartDocument(); 
myXW.WriteStartElement("Customers"); 
string strConn = myConnectionString; 
OleDbConnection myConn = new OleDbConnection(strConn); 
myConn.Open(); 
OleDbCommand myCMD = new OleDbCommand("select * from customers", myConn); 
OleDbDataReader myRdr = myCMD.ExecuteReader(); 
while (myRdr.Read()) 
{ 
    myXW.WriteStartElement("Customer"); 
    myXW.WriteAttributeString("id", myRdr.GetString(0)); 
    myXW.WriteElementString("companyname", myRdr.GetString(1)); 
    myXW.WriteElementString("contactname", myRdr.GetString(2)); 
    myXW.WriteElementString("contactname", myRdr.GetString(3)); 
    myXW.WriteElementString("address", myRdr.GetString(4)); 
    myXW.WriteElementString("city", myRdr.GetString(5)); 
    myXW.WriteElementString("country", myRdr.GetString(8)); 
    myXW.WriteElementString("phone", myRdr.GetString(9)); 
    myXW.WriteElementString("fax", myRdr.GetString(10)); 
    myXW.WriteEndElement(); 
} 
myXW.WriteEndElement(); 
myXW.WriteEndDocument(); 
myXW.Flush(); 
myXW.Close(); 
+0

Wie das Beispiel ... aber ziehen den un-notwendigen Code aus, um ihn lesbarer zu machen. –

+0

@Justin Neissner: Du meinst das ADO-Zeug? Denkst du, das fügt unnötigen Lärm hinzu? Ich hatte gehofft, dass es einen zusätzlichen Kontext geben würde. Ich bin offen für Feedback. – Rap

Verwandte Themen