我试图以特定格式创建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>
答案 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")));