2011-04-20 38 views
0

如何在C#中实现这样的格式?在C#中实现XML格式

想这是输出:

<Region id="1" name="Africa"/> 

到目前为止,这是我的C#代码:

using (XmlWriter xml_writer = XmlWriter.Create(str_builder)) 
{ 
    xml_writer.WriteStartDocument(); 
    xml_writer.WriteStartElement("RegionList"); 

    foreach (var get_regions in qdb_conn.Regions()) 
    { 
     xml_writer.WriteStartElement("Region"); 
     xml_writer.WriteEndElement(); 
    } 

    xml_writer.WriteEndElement(); 
    xml_writer.WriteEndDocument(); 
} 

回答

7

,除非你真的使用XmlWriter,我根本不会。我会使用LINQ到XML来代替:

XElement region = new XElement("Region", 
           new XAttribute("id", 1), 
           new XAttribute("name", "Africa")); 

完成任务 - 然后您可以将其写入任何您想要的内容。话虽如此,应该很容易让您的现有代码正常工作。只需将环路更改为如下形式:

foreach (var get_regions in qdb_conn.Regions()) 
{ 
    xml_writer.WriteStartElement("Region"); 
    xml_writer.WriteAttributeString("id", XmlConvert.ToString(get_regions.Id)); 
    xml_writer.WriteAttributeString("name", get_regions.Name); 
    xml_writer.WriteEndElement(); 
} 
+0

谢谢!生病只是使用XElement。 – Rye 2011-04-20 05:37:30