Hallo,
Ich habe folgendes XML-Dokument, aus dem ich Daten ziehen muss:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| <?xml version="1.0" encoding="utf-8"?> <?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:UrlaubsantrTge:-myXSD-2007-02-08T14-19-55" solutionVersion="1.0.0.23" productVersion="12.0.0.0" PIVersion="1.0.0.0" href="http://server/verwaltung/Urlaubsantrge/Forms/template.xsn"?> <?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?> <my:meineFelder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-02-08T14:19:55" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="de-DE"> <my:Planung> <my:Einzeldaten> <my:vonDatum>2007-04-03</my:vonDatum> <my:bisDatum>2007-04-26</my:bisDatum> <my:dauer>15</my:dauer> </my:Einzeldaten> <my:antragsSumme>15</my:antragsSumme> </my:Planung> <my:anspruch>28.0000000000000</my:anspruch> <my:resturlaub>5.00000000000000</my:resturlaub> <my:anspruchGesamt>33</my:anspruchGesamt> <my:name>Uwe Grohne</my:name> <my:restAnspruch>18</my:restAnspruch> <my:vertreter>Uwe Grohne</my:vertreter> <my:vorgesetzter>Uwe Grohne</my:vorgesetzter> <my:personalAbteilung>Uwe Grohne</my:personalAbteilung> </my:meineFelder> |
Ich wollte erstmal mit den einzelnen Nodes unten anfangen, also vertreter, vorgesetzter und personalAbteilung und dachte mir, ich mache das einfach per XPath, da ich das nachher auch für die Einzeldaten der Planung verwenden möchte.
Dazu verwende ich folgenden Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| XmlDocument myDoc = new XmlDocument(); myDoc.Load(myStream);
XmlNode node = myDoc.SelectSingleNode("//my:vertreter"); this.vertreter = new string[1]; this.vertreter[0] = node.FirstChild.Value; node = myDoc.SelectSingleNode("//my:vorgesetzter"); this.vorgesetzter = node.FirstChild.Value; node = myDoc.SelectSingleNode("//my:personalAbteilung"); this.personalAbteilung = node.FirstChild.Value; |
Dummerweise bekomme ich da folgenden Fehler vorgesetzt:
Zitat: |
System.Xml.XPath.XPathException: Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function. |
Wie verwende ich jetzt den Namespace Manager oder XsltContext.
Problem ist: Die ganze Zeit Rumprobieren dauert Ewigkeiten, weil ich bisher jedesmal Kompilieren, auf den Server kopieren, in den GAC installieren und IIS neu starten muss. Daher wäre ein wenig Code und Erklärung, was hier das Problem genau ist, sehr hilfreich