В 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, а затем его Избранные дочерние узлы с их атрибутами?

0 ответов

Другие вопросы по тегам