Это связано с тем, что средство отображения данных предназначено не для вывода данных из файла XML (или лучше сформулированного документа XML), а из схемы XML .
Схема XML описываетсинтаксис, которому должен соответствовать XML-документ.
Схемы XML могут, например, храниться в виде файлов XSD или DTD.
Поэтому первый шаг, который вы должны сделать, - это создать схему XSD.Вы можете начать с создания XSD из XML, а затем отшлифовать этот XSD.
Онлайн-инструмент XML-2-XSD может помочь вам с генерацией этого XSD, но есть еще много инструментов.
Затем используйте этот XSD в преобразователе данных, и у вас будет гораздо больше шансов.
Примечание. Типы XML определяются не так, как большинство языков программирования, поэтому вы не всегда можете отобразить данные XMLпечатает на Delphi.Ваш простой случай сработает, но как только вы выполните рекурсию или обнулите в XML, он может стать довольно сложным.
Редактировать : добавлен образец XSD для обоих документов XML.
Я использовал XmlForAsp для вывода XSD , поэтому у вас есть преимущество.
Выведенный XSD для первого и второго XML-документа одинаков:
<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Sample" type="SampleType" />
<xsd:complexType name="SampleType">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="connection" type="connectionType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="connectionType">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="item" type="itemType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="itemType">
<xsd:attribute name="Name" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
- Йерун