Saturday, 27 September 2014

Parse XML in Windows Phone 8.1



I want to parse the following XML in Windows 8.1 using XmlDocument or XDocument but not XmlSerializer.


I want to convert them into ObservableCollection and I have 5 Pages for every XML type. I have a collection of books which contains a collection of sections which contains a collection of subjects which contains a collection of context.



<Collection>
<Book Name="XXX">
<Section Name="XXX">
<Subject Name="XXXXXXX">
<Context Name="AAAAAA">Thecontext....</Context>
<Context Name="AAAAAA">Thecontext....</Context>
<Context Name="AAAAAA">Thecontext....</Context>
</Subject>
</Section>
</Book>

<Book Name="YYY">
<Section Name="XXX">
<Subject Name="XXXXXXX">
<Context Name="AAAAAA">Thecontext....</Context>
<Context Name="AAAAAA">Thecontext....</Context>
<Context Name="AAAAAA">Thecontext....</Context>
</Subject>
</Section>
</Book>

</Collection>


Into this



[XmlRootAttribute]
[XmlTypeAttribute]
public class Collection
{
[XmlElementAttribute]
public Book[] Book { get; set; }
}

[XmlTypeAttribute]
public class Book
{
[XmlElementAttribute]
public Section[] Section { get; set; }

[XmlAttributeAttribute]
public string Name { get; set; }
}

[XmlTypeAttribute]
public class Section
{
[XmlElementAttribute]
public Subject[] Subject { get; set; }

[XmlAttributeAttribute]
public string Name { get; set; }
}

[XmlTypeAttribute]
public class Subject
{
[XmlElementAttribute]
public Context[] Context{ get; set; }

[XmlAttributeAttribute]
public string Name { get; set; }
}

[XmlTypeAttribute]
public class Context
{
[XmlAttributeAttribute]
public string Name{ get; set; }

[XmlTextAttribute]
public string Value { get; set; }
}


I want to use XAML data binding also.


No comments:

Post a Comment