如何使用 C# 将 `xmlns` 重命名为 TYPE

阿雷比·斯里达兰

我正在尝试使用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将所有程序包名称重命名为小写

如何自动将tmux Windows重命名为当前目录

如何将所有文件重命名为小写?

如何将Git的“ master”分支重命名为“ release”?

如何将文件重命名为Google Drive Rest API?改造2

如何“以整齐的方式”将列重命名为变量名

如何仅将“未命名:”列重命名为数字索引

如何将wget输出重命名为文件内的名称(bash)

如何将文件重命名为文件名中的子字符串?

如何将多个图像重命名为两个不同的名称?

如何将readme.md重命名为README.md?

如何将es6解构并将参数重命名为打字稿?

Mobx-状态树:如何将AnonymousModel重命名为商店名称

如何将每行中的数据重命名为熊猫的唯一编号?

使用Gitflow将dev分支重命名为dev

C#将文件重命名为与其他目录中的文件相同的名称

如何将文件重命名为带后缀的单调递增序列号?

使用php将图像重命名为产品ID

如何将Firefox附件重命名为易读的名称?

如何使用Convert将大量jpg文件重命名为png

是否有准备使用的方法来将C#运算符名称重命名为符号

如何将文件重命名为..(点点)?

如何在Windows 7中将文件重命名为.htaccess?

如何将sudoers重命名为其原始命名?

如何将JPEG文件重命名为图像日期,并添加每天重置的计数?

将文件重命名为.mm后如何进行目标c样式分配

如何使用R将多个excel的工作表重命名为相同的名称

使用 VBA 将 Excel 重命名为 CSV

如何使用 exiftool 将文件重命名为 CSV 导入文件中包含的新名称