Вот фрагмент файла XML, который я пытаюсь прочитать.
<?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>
Моя цель - получить атрибут NAME
и атрибут TYPE
из файла xml.Я пытался использовать и XElement, и XPath, но не смог ни сработать.
foreach (var file in System.IO.Directory.EnumerateFiles(path, "*.xml", System.IO.SearchOption.TopDirectoryOnly))
{
var fileInfo = new System.IO.FileInfo(file);
var name = fileInfo.Name.Split('.')[0];
XElement root = XElement.Load(file);
if (!db.Tables.Contains(name))
{
XElement MetaData = root.Element("METADATA"); //This returns null
foreach(var field in MetaData.Elements("FIELD"))
{
//...
}
}
//...
}
Когда я пытаюсь выбрать группу METADATA
, выборка возвращает ноль.Какую ошибку я делаю с моим кодом?