뉴스 포털 용 WP 응용 프로그램에서 작업 중입니다. 다양한 피드를 구문 분석해야합니다. 표준 피드는 다음과 같습니다XML Windows Phone에서 Deserialize C#
<feed>
<items>
<item>
...
</item>
<item>
...
</item>
</items>
</feed>
나는 그것을 역 직렬화하기 위해이 코드를 사용 :
[XmlRoot("feed")]
public class News
{
[XmlArray("items")]
[XmlArrayItem("item")]
public ObservableCollection<NewsItem> DataSet{ get; set; }
}
모든 피드이 잘 작동이 갖는
이XDocument document = XDocument.Load(xmlStream);
XmlSerializer serializer = new XmlSerializer(typeof(News));
News MainPage = (News)serializer.Deserialize(document.CreateReader());
Dispatcher.BeginInvoke(() => MainPageListBox.ItemsSource = MainPage.DataSet;);
뉴스 클래스는 다음과 같습니다 하나의 <items>
섹션이있는이 구조체. 그러나 나는 또한 예를 들어, 여러 섹션으로 공급 한 : 나는 위의 C# 코드를 사용하는 경우
<feed>
<items section="part 1">
<item>
...
</item>
<item>
...
</item>
</items>
<items section="part 2">
<item>
...
</item>
<item>
...
</item>
</items>
</feed>
은 단지 첫 번째 <items>
섹션은 구문 분석, 다른 사람이 무시됩니다. 하나의 XML 피드에 각 <items>
섹션에 대해 별도의 List 또는 ObservableCollection을 만들어야합니다.
아무도 도와 줄 수 있습니까? 고마워.
XML이 클래스의 형식과 일치하지 않습니다 ... 직렬화기를 사용하여 개체를 역 직렬화 할 수 없습니다. –
http://eyeung003.blogspot.com/2010/03/c-net-35-syndication.html –