VS2005 .net 2.0 c #: лучший способ создать файл XML

2

Каков наилучший способ создания xml файла в .net 2.0 с точки зрения узлов и т.д. Я не думаю, что могу использовать LINQ. Любой образец кода или статья будут полезны.

Теги:

2 ответа

4

Лучше всего использовать класс XmlTextWriter.

Вот довольно простой пример:

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

Это даст вам:

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

Вот фрагмент кода, который работает:

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
    Как в примере ... но вытащите ненужный код, чтобы сделать его более читабельным.
  • 0
    @Justin Neissner: Вы имеете в виду вещи ADO? Вы думаете, что добавляет ненужный шум? Я надеялся, что это добавит контекст. Я открыт для обратной связи.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню