2010-11-19 13 views
1

Hier ist ein Auszug der XML-Datei, die ich versuche zu lesen.Fehler beim Lesen von Knoten aus einer XML-Datei

<?xml version="1.0" encoding="UTF-8" ?> 
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> 
    <ERRORCODE>0</ERRORCODE> 
    <PRODUCT BUILD="06-11-2010" NAME="FileMaker" VERSION="Pro 11.0v2" /> 
    <DATABASE DATEFORMAT="M/d/yyyy" LAYOUT="" NAME="Appointments.fp7" RECORDS="13" TIMEFORMAT="h:mm:ss a" /> 
    <METADATA> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="CalDateCalc1" TYPE="DATE" /> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="CalDateCalc2" TYPE="DATE" /> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="CalDateCalc3" TYPE="DATE" /> 
     ... 
    </METADATA> 
    ... 
</FMPXMLRESULT> 

Mein Ziel ist es, die das NAME Attribut und das TYPE Attribut aus der XML-Datei zu erhalten. Ich habe versucht, sowohl XElement als auch XPath zu verwenden, aber ich habe nicht zur Arbeit gekommen.

Wenn ich versuche, die METADATA Gruppe auszuwählen, gibt die Auswahl null zurück. Welchen Fehler mache ich mit meinem Code?

Antwort

1

Ihr <METADATA> Element befindet sich in einem XML namespace. Sie müssen diesen Namespace auf die Element() Methode angeben:

XNamespace ns = "http://www.filemaker.com/fmpxmlresult"; 
XElement metaData = root.Element(ns + "METADATA"); // This will work. 

Siehe XName Klasse für weitere Details.

+0

Danke das hat funktioniert. –

Verwandte Themen