繁体   English   中英

XML格式和编写器设置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM