Ich entwickle eine Anwendung, die aus XML-Dateien liest. Aber ich habe eine Probezeit. Meine XML-Datei sieht wie folgt aus:C# Lesen von XML-Dateien
<variable>
<varName>Love</varName>
<type>int</type>
<value>0</value>
</variable>
Und ich es so lese:
XmlDataDocument xmldoc = new XmlDataDocument();
XmlNodeList xmlnode;
FileStream fs = new FileStream(fName, FileMode.Open, FileAccess.Read);
xmldoc.Load(fs);
xmlnode = xmldoc.GetElementsByTagName("variable");
for (int i = 0; i <= xmlnode.Count - 1; i++)
{
Variable elem = new Variable();
for (int j = 0; j < xmlnode[i].ChildNodes.Count; j++)
{
if (xmlnode[i].ChildNodes.Item(j).Name == "varName")
elem.varName = xmlnode[i].ChildNodes.Item(j).InnerText;
if (xmlnode[i].ChildNodes.Item(j).Name == "type")
{
if (xmlnode[i].ChildNodes.Item(j).InnerText == "int")
elem.type = VariableType.INT;
if (xmlnode[i].ChildNodes.Item(j).InnerText == "bool")
elem.type = VariableType.BOOL;
}
if (xmlnode[i].ChildNodes.Item(j).Name == "value")
elem.value = xmlnode[i].ChildNodes.Item(j).InnerText;
}
}
Nach diesem Code, den ich bekam hätte meine elem.name="Love"
elem.value=0
elem.type=INT
Aber stattdessen habe ich vier elem
Variablen zuerst mit Werte Ich möchte andere mit type="INT"
andere (Name, Wert) = null. Irgendwelche Ideen. Danke im Voraus.
Ich rate Ihnen dringend, LINQ zu XML zu verwenden - es macht all dies * viel * einfacher. –
Ich habe bereits 1000 Zeilen Code. Es braucht viel. Ich muss das korrigieren. –
Dies sollte leicht herauszufinden sein, wenn Sie mit dem Debugger durch Ihren Code gehen und die Werte Ihrer elem-Eigenschaften überprüfen. – sevi