Wie man eine bestimmte, von der XML-Klassenstruktur deserialisierte an Treeview bindet
Ich möchte eine App erstellen, die Daten aus meiner XML-Datei in die Klassenstruktur deserialisiert. Ich habe Klassen mit dem Tool 'XML als Klassen einfügen' vorbereitet, aber alles wurde in gemeinsamen Feldern oder Tabellen erstellt, und als ich versuchte, es für List oder ObservableCollections zu ändern, wurde das Laden des XML-Dokuments gestoppt.
Was ich als nächstes tun möchte, ist die Möglichkeit, aus der Baumansicht zum Beispiel ein Element auszuwählen, es zu bearbeiten und erneut in einer XML-Datei zu speichern. Ich möchte das nicht direkt auf .xml machen. Dies ist ein Beispiel für mein 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>
...
Hier sind Beispiele für Klassen
/// <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;
}
}
}
nd wie ich xml lade:
// 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();
Hier ist, was ich plus meine XML-Datei habe, vielleicht hilft dir das, mir zu helfen :)https: //drive.google.com/file/d/0B0wPodV30rnJSVA1ckVxWldDRDA/vie