В XML-документе с прологом, как я могу получить дочерние элементы корневого узла с их атрибутами?
У меня есть этот файл XML:
<?xml version="1.0" encoding="UTF-8"?>
<MyApp_Favorites version="1.0">
<Favorite Path="D:\MyTextA.txt" Page="2"/>
<Favorite Path="D:\MyTextB.txt" Page="33"/>
<Favorite Path="D:\MyTextC.txt" Page="1"/>
</MyApp_Favorites>
Теперь я пытаюсь начать читать дочерние элементы MyApp_Foving и их соответствующие атрибуты, начав читать корневой узел (а затем я попытаюсь прочитать дочерние элементы корневого узла):
procedure TFormMain.LoadFavorites;
var
XMLDoc: TXMLDocument;
ThisRootNode, ThisFavNode: IXMLNode;
begin
XMLDoc := TXMLDocument.Create(nil);
XMLDoc.LoadFromFile('R:\test.xml');
XMLDoc.Active := True;
ThisRootNode := XMLDoc.ChildNodes.First;
CodeSite.Send('ThisRootNode.Text', ThisRootNode.Text);
Тем не мение, ThisRootNode.Text
дает мне обратно:
версия ="1.0" кодировка ="UTF-8"
Но разве спецификация XML не говорит о том, что пролог XML не является частью содержимого документа XML? Итак, почему я получаю Пролог XML как часть документа XML? И как я могу получить корневой узел MyApp_Foving, а затем его Избранные дочерние узлы с их атрибутами?