2017-05-15 11 views
0

xmlroot 요소 이름 값, 네임 스페이스 값 및 각 xmlattribute attributename을 검색하려면 xmlSerializer.mapping (잠김 된 속성)을 추출하는 방법?클래스에서 XmlRoot 정보 추출

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; } 
} 

답변

0

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); 
}