0
RestSharp 라이브러리를 사용하여 XML을 deserialize 할 때 같은 이름의 특성을 가진 중첩 요소를 포함하는 요소가있는 경우 상위 요소는 중첩 된 특성 값을 사용합니다 요소 - 어떻게 이런 일이 일어나지 않도록 할 수 있습니까?XML 역 직렬화 - 부모 요소가 자식의 특성 값을 가져 오는 중
XML을 deserialize하도록 설정 한 몇 가지 클래스 (이보다 더 크지 만이를 보여주기위한 축소 된 형식)가 있습니다. 같은 XML로
[XmlType(AnonymousType = true)]
[XmlRoot(IsNullable = false)]
public class Base
{
[XmlAttribute("title")]
public string Title { get; set; }
[XmlArray("base")]
[XmlArrayItem("foo")]
public List<Foo> Foos{ get; set; }
public Base()
{
Foos = new List<Foo>();
}
}
[XmlType(AnonymousType = true)]
public class Foo
{
[XmlAttribute("style")]
public string Style { get; set; }
[XmlElement("bar")]
public List<Bar> Bars { get; set; }
public Foo()
{
Bars = new List<Bar>();
}
}
[XmlType(AnonymousType = true)]
public class Bar
{
[XmlAttribute("style")]
public string Style { get; set; }
[XmlElement("foo")]
public List<Foo> Foos{ get; set; }
public Bar()
{
Foos = new List<Foo>();
}
}
: 직렬화 때 Foo.Style = "bold"
는하지만 Foo.Style = null
을 기대하는 곳
<base>
<foo>
<bar style="bold" />
<bar />
</foo>
<foo>
<bar style="bold" />
<bar />
</foo>
</base>
, 내가 푸의 인스턴스를 가지고있다. 어떻게하면 부모 요소가 자식 요소의 속성 값을 가져 오지 못하게 할 수 있습니까?
수업 사이에 사이클을 원하십니까? 또한'[XmlRoot ("foo")]'로'Foo '를 표시해야만 그 XML을 비 직렬화하는 방법을 보여 주시기 바랍니다. 그 후에 제대로 작동합니다.''deserialized'Foo 'null이고 두 개의'Bar'가 있는데, 처음에는 올바른'style'이 있습니다. – kiziu
RestSharp 라이브러리를 사용하여 XML을 검색하고 비 직렬화합니다. 특히 [권장] (https://github.com/restsharp/RestSharp/wiki/Recommended-Usage) 메소드에서'Execute() ' –
kin3tik
구조의 기초를보다 명확하게 반영하도록 게시물을 업데이트했습니다. – kin3tik