Я пытаюсь экспортировать таблицу в Excel в файл XML. Я создал схему, но у меня нет точно того результата, который я ожидаю. Вот простой пример моей таблицы: my table.Объединить элементы при экспорте в XML
Моя схема:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="2">
<xs:element name="Group" type="groupType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="groupType">
<xs:sequence>
<xs:element name="City" type="cityType" />
</xs:sequence>
<xs:attribute name="name" />
</xs:complexType>
<xs:complexType name="cityType">
<xs:sequence>
<xs:element name="value" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" />
</xs:complexType>
Это результат я получаю, когда я экспортировать в XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<list>
<Group name="groupA">
<City name="Dublin">
<value>yes</value>
</City>
</Group>
<Group name="groupA">
<City name="Prague">
<value>yes</value>
</City>
</Group>
<Group name="groupA">
<City name="Sofia">
<value>no</value>
</City>
</Group>
<Group name="groupA">
<City name="Tunis">
<value>yes</value>
</City>
</Group>
<Group name="groupB">
<City name="Paris">
<value>no</value>
</City>
</Group>
<Group name="groupB">
<City name="Lisbon">
<value>no</value>
</City>
</Group>
<Group name="groupB">
<City name="Madrid">
<value>no</value>
</City>
</Group>
</list>
Это не плохо, но я хотел бы для объединения строк, которые имеют одинаковое имя группы (groupA и groupB) в том же узле. Другими словами, я хотел бы иметь этот результат:
<list>
<Group name="groupA">
<City name="Dublin">
<value>yes</value>
</City>
<City name="Prague">
<value>yes</value>
</City>
<City name="Sofia">
<value>no</value>
</City>
<City name="Tunis">
<value>yes</value>
</City>
</Group>
<Group name="groupB">
<City name="Paris">
<value>no</value>
</City>
<City name="Lisbon">
<value>no</value>
</City>
<City name="Madrid">
<value>no</value>
</City>
</Group>
</list>
Что я должен делать в моей схеме, чтобы сделать результат, как я хочу?
Excel может напрямую экспортировать XML в виде таблицы. Это последовательность строк данных (записей), в которых каждое поле данных имеет ровно один элемент. В вашем случае это последовательность групп, в которых каждая группа имеет ровно один Город с одним значением. Это то, что вы уже получили. То, что вы хотите, это последовательность групп, каждая из которых имеет последовательность городов. Это невозможно напрямую с экспортом Excel XML. Либо вы используете VBA для этого, либо берете то, что у вас есть, и преобразуете это с помощью XSLT вне Excel. –