ich den Code unten versucht, den Wert eines bestimmten Knoten zu erhalten, aber beim Laden des XML diese Ausnahme ausgelöst wird:Wie den XML-Knoten Wert in String erhalten
Ausnahme:
Daten auf der Stammebene sind ungültig. Zeile 1, Position 1.
XML
<?xml version="1.0"?>
<Data xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Date>11-07-2013</Date>
<Start_Time>PM 01:37:11</Start_Time>
<End_Time>PM 01:37:14</End_Time>
<Total_Time>00:00:03</Total_Time>
<Interval_Time/>
<Worked_Time>00:00:03</Worked_Time>
<Short_Fall>08:29:57</Short_Fall>
<Gain_Time>00:00:00</Gain_Time>
</Data>
C#:
XmlDocument xml = new XmlDocument();
filePath = @"D:\Work_Time_Calculator\10-07-2013.xml";
xml.LoadXml(filePath); // Exception occurs here
XmlNode node = xml.SelectSingleNode("/Data[@*]/Short_Fall");
string id = node["Short_Fall"].InnerText;
Modified-Code
C#:
XmlDocument xml = new XmlDocument();
filePath = @"D:\Work_Time_Calculator\10-07-2013.xml";
xml.Load(filePath);
XmlNode node = xml.SelectSingleNode("/Data[@*]/Short_Fall");
string id = node["Short_Fall"].InnerText; // Exception occurs here ("Object reference not set to an instance of an object.")
möglich Duplikat von [Daten auf der Root-Ebene ist ungültig] (http://stackoverflow.com/questions/5748668/data-at-the-root-level-is-invalid) –
Warum verwenden Sie nicht LINQ zu XML? Es ist viel einfacher und benutzerfreundlicher als die alte XmlDocument-Klasse. – MarcinJuraszek