我开始研究XML(反序列化),并且正在努力反序列化以下XML

<?xml version="1.0" encoding="utf-8" ?>
<Reader>
  <NewRecord value ="HH"/>
  <FileTerminator value ="HHProgram"/>
  <OutputFont value ="Courier"/>
</Reader>


进入下课

public class Reader
{
    [XmlElement]
    public string NewRecord;
    [XmlElement]
    public string FileTerminator;
    [XmlElement]
    public string OutputFont;

}


我在引用以下XML可以正常工作的每个元素的正确value属性时遇到了麻烦。

<?xml version="1.0" encoding="utf-8" ?>
<LayoutReader>
  <NewRecord>HH</NewRecord>
  <FileTerminator>HHProgram</FileTerminator>
  <OutputFont>Courier</OutputFont>
</LayoutReader>

最佳答案

尝试使用此代码,它可以按预期工作。您也可以以相同的方式添加其他属性

public class Reader
{
    ...
    [XmlElement("OutputFont")]
    public ReaderItemOutputFont ReaderItem { get; set; }
}


[Serializable()]
public class ReaderItemOutputFont
{
    [XmlAttribute("value")]
    public String OutputFont { get; set; }
}

关于c# - 从不同元素中反序列化具有相同名称的xml属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35577989/

10-09 19:44