Основная цель: у меня есть заданный файл XML и список имен клиентов в Excel.Я хотел бы создать сопоставление XML, чтобы с ним можно было создать новый XML-файл.
Моя проблема: Excel отображает не весь список (столбцы), а только одну ячейку.
Это мой XML-файл:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Profiles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/Users/baj426/Documents/Altova/XMLSpy2018/Examples/test.xsd">
<Profile CompanyId="" Duns="">
<Tab name="Tab_Address" label="Address">
<Group Name="Group_IDs">
<Field Value="true" Name="Field_IDs_SIM_Strategic"/>
</Group>
</Tab>
</Profile>
</Profiles>
Это моя XML-схема, сгенерированная XMLSPy:
<?xml version="1.0" encoding="UTF-8"?>
<!-- W3C Schema generated by XMLSpy v2018 rel. 2 (x64) (http://www.altova.com) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Tab">
<xs:complexType>
<xs:sequence>
<xs:element ref="Group"/>
</xs:sequence>
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Tab_Address"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="label" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Address"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Field">
<xs:complexType>
<xs:attribute name="Value" use="required" type="xs:boolean"/>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Field_IDs_SIM_Strategic"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Group">
<xs:complexType>
<xs:sequence>
<xs:element ref="Field"/>
</xs:sequence>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Group_IDs"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Profile">
<xs:complexType>
<xs:sequence>
<xs:element ref="Tab"/>
</xs:sequence>
<xs:attribute name="CompanyId" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Duns" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Profiles">
<xs:complexType>
<xs:sequence>
<xs:element ref="Profile"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Это пример кода того, как я хотел бы иметь его:
Это пример XSD:
<?xml version="1.0" encoding="UTF-8"?>
<shiporder orderid="889923"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
<orderperson>John Smith</orderperson>
<shipto>
<name>Ola Nordmann</name>
<address>Langgt 23</address>
<city>4000 Stavanger</city>
<country>Norway</country>
</shipto>
<item>
<title>Empire Burlesque</title>
<note>Special Edition</note>
<quantity>1</quantity>
<price>10.90</price>
</item>
<item>
<title>Hide your heart</title>
<quantity>1</quantity>
<price>9.90</price>
</item>
</shiporder>
XML-файл после сопоставления с некоторыми значениями из Excel
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<shiporder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<item>
<quantity>1</quantity>
<price>120</price>
</item>
<item>
<quantity>2</quantity>
<price>120</price>
</item>
<item>
<quantity>3</quantity>
<price>120</price>
</item>
<item>
<quantity>4</quantity>
<price>120</price>
</item>
<item>
<quantity>5</quantity>
<price>120</price>
</item>
<item>
<quantity>6</quantity>
<price>120</price>
</item>
<item>
<quantity>7</quantity>
<price>120</price>
</item>
<item>
<quantity>8</quantity>
<price>120</price>
</item>
</shiporder>