var xDom,hRoot,hNodeList,hNodeItem : LongInt;
var hNodeCount,i:integer;
xDom := XMLDOMDoc_New;
XMLDOMDoc_Load(xDom,FileName);//пробуем открыть файл XML
hRoot := XMLDOMDoc_DocumentElement(xDom);//получаем корневой элемент
hNodeList := XMLDOMNode_Get_ChildNodes(hRoot);//получаем child корневого элемента и идем по ним циклом
hNodeCount := XMLDOMNodeList_Get_Length(hNodeList);
for ( i := 0; i < hNodeCount; i := i + 1 )
{
hNodeItem:=XMLDOMNodeList_Get_Item(hNodeList, i);
message(XMLDOMNode_get_NodeType(hNodeItem)+'=='+XMLDOMNode_Get_NodeName(hNodeItem));
message(XMLDOMAttribute_get_NodeValue(hNodeItem));
}
тип и имя элемента получаю прекрасно
на получении значения вылетаю рантаймом
при этом по имени функции XMLDOMAttribute_get_NodeValue она и не должна брать значение элемента, а должна брать значение атрибута(что она прекрасно делает), но в XMLDOMFunc.pas другой подходящей функции нет
Тоже в свое время не нашел нужной функции. Создать можно подобную структуру, а прочитать как, непонятно. Да и если посмотреть какие xml используются в галактике - везде только атрибуты или CDATA. Создается впечатление, что существующий функционал просто не позволяет прочитать такую xml. Можно попробовать использовать парсер Microsoft XML. Как-то даже ради интереса сгенерировал объектные фейсы, но потом отвлекся и больше руки не дошли