qso просто предупреждаю, я не эксперт xml, и Excel лает на меня, что я не могу экспортировать этот файл, и я не уверен, как это исправить.
Вот моя схема:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Items YantraMessageGroupID="1" ValidateItems="N" ShipNode="346272" CompleteInventoryFlag="Y" ApplyDifferences="Y">
<Item UnitOfMeasure="EA" ProductClass="GOOD" ItemID="11551 H1L5" InventoryOrganizationCode="688262">
<Supplies>
<Supply SupplyType="ONHAND" Quantity="0"/>
</Supplies>
</Item>
<Item UnitOfMeasure="EA" ProductClass="GOOD" ItemID="9170 H1L5" InventoryOrganizationCode="688262">
<Supplies>
<Supply SupplyType="ONHAND" Quantity="0"/>
</Supplies>
</Item>
</Items>
Я понимаю, что выше это не совсем схема, но Excel все равно преобразует ее в одну. Я также попробовал эту фактическую схему и получил те же результаты:
<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<xsd:element name='Supply'>
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace='http://www.w3.org/namespace/'/>
</xsd:sequence>
<xsd:attribute name='Quantity' type='xsd:string' use='optional'/>
<xsd:attribute name='SupplyType' type='xsd:string' use='required'/>
</xsd:complexType>
</xsd:element>
<xsd:element name='Supplies'>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref='Supply'/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name='Item'>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref='Supplies'/>
</xsd:sequence>
<xsd:attribute name='InventoryOrganizationCode' type='xsd:string' use='required'/>
<xsd:attribute name='ItemID' type='xsd:string' use='required'/>
<xsd:attribute name='ProductClass' type='xsd:string' use='required'/>
<xsd:attribute name='UnitOfMeasure' type='xsd:string' use='required'/>
</xsd:complexType>
</xsd:element>
<xsd:element name='Items'>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref='Item'/>
</xsd:sequence>
<xsd:attribute name='ApplyDifferences' type='xsd:string' use='optional'/>
<xsd:attribute name='CompleteInventoryFlag' type='xsd:string' use='optional'/>
<xsd:attribute name='ShipNode' type='xsd:string' use='required'/>
<xsd:attribute name='ValidateItems' type='xsd:string' use='optional'/>
<xsd:attribute name='YantraMessageGroupID' type='xsd:string' use='optional'/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
И в основном я хочу, чтобы узел root (Элементы) не повторялся, а затем все остальное (Единица измерения) , класс продукта, ItemID, тип Suppoly, количество) для повторения с данными, которые сопоставлены со столбцами Excel. Итак, все в ITems - это столбец, и я хочу, чтобы он отображался в верхней части экспортированного файла xml, а затем все остальное должно повторять элементы с данными, найденными в соответствующих столбцах Excel.
Проблема: каждый раз, когда я пытаюсь экспортировать этот файл, excel кричит мне, что его нельзя экспортировать
Вот как я хочу, чтобы вывод выглядел так:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Items YantraMessageGroupID="71852420200421190001" ValidateItems="N" ShipNode="346272" CompleteInventoryFlag="Y" ApplyDifferences="Y">
<Item UnitOfMeasure="EA" ProductClass="GOOD" ItemID="0107-12-12" InventoryOrganizationCode="688262">
<Supplies>
<Supply SupplyType="ONHAND" Quantity="126"/>
</Supplies>
</Item>
<Item UnitOfMeasure="EA" ProductClass="GOOD" ItemID="0107-12-16" InventoryOrganizationCode="688262">
<Supplies>
<Supply SupplyType="ONHAND" Quantity="12"/>
</Supplies>
</Item>
<Item UnitOfMeasure="EA" ProductClass="GOOD" ItemID="0107-12-8" InventoryOrganizationCode="688262">
<Supplies>
<Supply SupplyType="ONHAND" Quantity="42"/>
</Supplies>
</Item>