c# - 从不同元素反序列化具有相同名称的 xml 属性

标签 c# xml deserialization

我开始研究 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 按预期工作。

<?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/

相关文章:

java - 如何创建允许 Xml 元素具有冒号和节点数的 XML

c# - Newtonsoft 转义 JSON 字符串无法反序列化为对象

asp.net - Json.Net 反序列化 - Web API 和可空日期

.NET 4.0 中的 C# 异步 wat

c# - 从 ValidationError 获取错误消息

xml - 具有简单和嵌套标签的 xml 的 clj-xpath

java - 放心 : unable to parse response for required value using Xpath

c# - 设置断点执行后触发

c# - 将 C# 日期时间转换为字符串并返回

c# - 读取标签外的xml注释