[英]Xml formatting and writer settings
我正在使用C#代码创建的以下xml数据,但格式不符合我的要求。 有人可以建议如何完成这项工作吗?
为此的C#代码:
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Encoding = Encoding.UTF8;
using (XmlWriter writer = XmlWriter.Create("SNP.xml",xmlWriterSettings))
{
writer.WriteStartDocument();
writer.WriteStartElement("Request","http://www.ABC.com/submit");
foreach (DataRow row in ExcelData.Rows)
{
writer.WriteStartElement(ExcelData.Rows[counter]["MyDATA"].ToString());
writer.WriteElementString("DATA1", ExcelData.Rows[counter]["DATA1"].ToString());
writer.WriteElementString("DATA2", ExcelData.Rows[counter]["DATA2"].ToString());
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndDocument();
}
由c#生成的数据:
<?xml version="1.0" encoding="utf-8" ?>
- <Request xmlns="http://www.timvw.be/ns">
- <MyData>
<DATA1>91.689117127891</DATA1>
<DATA2>0.18242169290979</DATA2>
</MyData>
</Request>
但是我需要以下格式的xml数据:
<?xml version="1.0" encoding="utf-16" ?>
- <Request xmlns="http://www.ABC.com/submit" xmlns:l="http://www.ABC.com/link" l:source="SRC" l:date="2014-03-05">
- <MyData l:identifier="PRAV" l:value="151.19448366182007269092408546">
<DATA1 l:value="0.151328110447635" />
<DATA2 l:value="0.6461191930062688087600920641" />
<DATA3 l:value="0.144793773777417" />
</MyData>
</Request>
谁能建议在C#代码中需要设置为什么才能获得
如果需要将值写为XmlAttribute,请尝试以下操作:
writer.WriteStartElement("DATA1");
writer.WriteAttributeString("l:value", ExcelData.Rows[counter]["DATA1"].ToString());
writer.WriteEndElement();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.