Como vincular uma estrutura de classe XML específica e desserializada ao Treeview
Quero criar um aplicativo que desserialize os dados do meu arquivo xml para a estrutura da classe. Eu preparei aulas usando a ferramenta 'Colar XML como classes', no entanto, tudo é feito em campos ou tabelas comuns e quando tentei alterá-lo para o serializador List ou ObservableCollections parou de carregar o documento xml corretamente.
O que eu quero fazer a seguir é a possibilidade de escolher entre treeview, por exemplo, algum elemento, editá-lo e salvar no arquivo xml novamente. Não quero fazer isso diretamente no .xml. Esta é uma amostra do meu XML:
<plan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<nagłówek>
<autorzy>
<nazwa>Autorzy:</nazwa>
<autor atr="one">
<numer>222</numer>
<imię>Rust</imię>
<nazwisko>Snow</nazwisko>
</autor>
<autor>
<numer>111</numer>
<imię>Ian</imię>
<nazwisko>Nower</nazwisko>
</autor>
</autorzy>
</nagłówek>
...
Aqui estão exemplos de classes
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class plan
{
private planNagłówek nagłówekField;
private planGłówny głównyField;
/// <remarks/>
public planNagłówek nagłówek
{
get
{
return this.nagłówekField;
}
set
{
this.nagłówekField = value;
}
}
/// <remarks/>
public planGłówny główny
{
get
{
return this.głównyField;
}
set
{
this.głównyField = value;
}
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class planNagłówek
{
private planNagłówekAutorzy autorzyField;
/// <remarks/>
public planNagłówekAutorzy autorzy
{
get
{
return this.autorzyField;
}
set
{
this.autorzyField = value;
}
}
}
e como eu carrego xml:
// Create an instance of the XmlSerializer specifying type and namespace.
XmlSerializer serializer = new XmlSerializer(typeof(XML.plan));
// A FileStream is needed to read the XML document.
FileStream fs = new FileStream("...somepath.../Untitled4.xml", FileMode.Open);
XmlReader reader = XmlReader.Create(fs);
// Use the Deserialize method to restore the object's state.
i = (XML.plan)serializer.Deserialize(reader);
fs.Close();
Aqui está o que eu tenho mais meu arquivo xml, talvez isso ajude você a me ajudar :)https://drive.google.com/file/d/0B0wPodV30rnJSVA1ckVxWldDRDA/view