나는 아래의 XML 직렬화하기 위해 노력하고있어 그것을 포장하지 않고 가치를 속성 : 나는 마법처럼 XmlSerializer
작품 아래처럼 클래스를 감을 때는C# XML를 비 직렬화 클래스
<venue href="http://SomeUrl">
<location id="ABC"/>
<title>Some title</title>
</venue>
을
[XmlRoot(ElementName = "venue")]
public class VenueModel
{
[XmlElement("location")]
public Location Location;
[XmlElement("title")]
public string Title;
[XmlAttribute("href")]
public string Href;
}
public class Location
{
[XmlAttribute("id")]
public string Id;
}
그러나 제 의견으로는 Location
에서 간단한 문자열을 별도의 클래스로 래핑하는 것은 상당히 지루한 해결책입니다. 내가 성취하고자하는 것은 아래와 같이 단순한 평평한 모형을 만드는 것입니다 :
[XmlRoot(ElementName = "venue")]
public class VenueModel2
{
[SomeMagicAttribute]
public string LocationId;
[XmlElement("title")]
public string Title;
[XmlAttribute("href")]
public string Href;
}
그래서 첫 번째 질문은? C# System.Xml.Serialization
을 사용하면 가능합니까? 그렇다면이 데이터를 얻는 데 필요한 마법 속성은 무엇입니까? 내가 처음 내가 입력 XML로 (아래와 같이) XSL 변환을 적용 할 필요가 있다는 것입니다 발견 한 것은
클래스 위치가 누락되었습니다. 텍스트 : [XmlText] public string Text {get; 세트; } 그렇지 않으면 값 의 값을 읽을 수 없습니다. –
위치에 텍스트 값이 없습니다. ID로 보내기 속성 만 포함합니다. 이것은 – Misiakw
을 위해 설계된 유일한 것입니다.이 경우 속성이 아니라 locationid 값이어야합니다. 하지만 네가 이걸 바꿀 수 없다고 생각해? –