【问题标题】:Extract XmlRoot Info from Class从类中提取 XmlRoot 信息
【发布时间】:2017-05-15 17:54:14
【问题描述】:

如何提取 xmlSerializer.mapping(锁定属性)以检索 xmlroot elementname 值、命名空间值和每个 xmlattribute 属性名?

ModelInfo mi = new ModelInfo {ModelName = "Andrea", ModelAge = 23};    
var xs = new XmlSerializer(mi.GetType()); 

[XmlRoot(ElementName = "Model", Namespace = "http://ws/")]
public class ModelInfo
{
    [XmlAttribute("name")]
    public string ModelName{ get; set; }

    [XmlAttribute("age")]
    public string ModelAge{ get; set; }
}

【问题讨论】:

    标签: c# xml class xmlserializer


    【解决方案1】:

    我认为不可能从 XmlSerializer 实例中检索。

    但是你可以像这样获得它:

    ModelInfo mi = new ModelInfo { ModelName = "Andrea", ModelAge = 23 };
    
    var xmlRoot = mi.GetType().GetCustomAttribute<XmlRootAttribute>();
    
    if (xmlRoot != null)
    {
        Console.WriteLine(xmlRoot.ElementName);
        Console.WriteLine(xmlRoot.Namespace);
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多