如何在C#</abc>中创建XML <abc name =“XYZ”place =“DEF”>

时间:2014-09-10 16:14:15

标签: c# xml

我试图以特定格式创建XML

需要格式

<ROWDATA> <ROW NAME="ABC" PLACE="DEF"/> </ROWDATA>

目前格式为

<ROWDATA>

<ROW>NAME="ABC" PLACE="DEF" </ROW> </ROWDATA>

代码

XmlWriterSettings wSettings = new XmlWriterSettings();
wSettings.Indent = true;
wSettings.ConformanceLevel = ConformanceLevel.Fragment;
wSettings.OmitXmlDeclaration = true;
MemoryStream ms = new MemoryStream();
XmlWriter xw = XmlWriter.Create(ms, wSettings);
xw.WriteStartElement("ROWDATA");

for (int i = 0; i < dt.Rows.Count; i++)
{

   xw.WriteStartElement("ROW");
   xw.WriteString("NAME=" + "''" + dts1.Rows[i]["NAME"].ToString() + "''");
   xw.WriteString("PLACE=" + "''" + dts1.Rows[i]["PLACE"].ToString() + "''");
   xw.WriteEndElement();
} 

我需要采取以下格式获取输出的更改

<ROWDATA>
<ROW NAME="ABC" PLACE="DEF"/>
</ROWDATA>

2 个答案:

答案 0 :(得分:3)

您需要的是WriteAttributeString方法。

writer.WriteAttributeString("NAME", dts1.Rows[i]["NAME"].ToString()); 
writer.WriteAttributeString("PLACE", dts1.Rows[i]["PLACE"].ToString()); 

答案 1 :(得分:1)

如果你使用LINQ to XML,你可以这样做:

var doc = new XElement("ROWDATA",
                        new XElement("ROW",
                                     new XAttribute("NAME", "ABC"),
                                     new XAttribute("PLACE", "DEF")));