我正在尝试使用 c# 创建 XML 文件格式。我差不多完成了。但是,输出还没有达到我的预期。
我目前的输出是
<?xml version="1.0"?>
<ArrayOfMESSAGE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MESSAGE>
<HEADER xmlns="M_DAT">
</HEADER>
<DATA_SET>
</DATA_SET>
</MESSAGE>
</ArrayOfMESSAGE>
<MSG />
程序.cs
using (FileStream fs = new FileStream("D:\\read.xml", FileMode.Create))
{
using (XmlWriter writer = XmlWriter.Create(fs, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true }))
{lstQTM);
writer.WriteStartElement("MSG");
new XmlSerializer(typeof(List<QTMList>)).Serialize(fs, lstQTMlist);
writer.WriteEndElement();
}
}
QTMList.cs
[XmlType("MESSAGE")]
//[XmlElement("MSG")]
public class QTMList
{
[XmlElement(Namespace = "M_DAT" ,ElementName ="HEADER")]
public List<QTMMain> QTMMain { get; set; }
[XmlElement(ElementName = "DATA_SET")]
public List<QTMdataset> QTMdataset { get; set; }
}
我的愿望输出是
<MSG>
<MESSAGE>
<HEADER Type="M_DAT">
</HEADER>
<DATA_SET SampleSize="5">
</DATA_SET>
</MESSAGE>
</MSG>
我该如何改变
xmlns
作为类型
请给我一些提示
我已经改变了我的QTMMain
班级
public class QTMMain
{
[XmlAttribute("TYPE")]
public string TYPE { get; set; }
[XmlText]
public string Value { get; set; }
public string DEVICE_TYPE { get; set; }
public string DEVICE_ID { get; set; }
//[XmlType(TypeName = "DEVICE_TYPE")]
public string SWITCH_ID { get; set; }
//[XmlType(TypeName = "DATE_TIME")]
public string DATE_TIME { get; set; }
public List<QTMStats> QTMStats { get; set; }
public List<QTM> QTM { get; set; }
}
我已经添加了
[XmlAttribute("TYPE")]
public string TYPE { get; set; }
[XmlText]
public string Value { get; set; }
行到上面的类。然后它按我的预期打印。
谢谢@Chris Walsh 先生给我一个提示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句