usenussi
Goto Top

XML Dateien mit unterschiedlichen Namensräumen und Feldnamen anpassen

Hallo Experten,
ich habe nun seit vier Wochen versucht XML Dateien zu verstehen.
Ich habe XML Daten aus Amazon, die ich mit der Schnittstelle ecommerce von Lexware einlesen möchte.
Ein Bestellbeispiel von Lexware funktioniert einwandfrei. Keine Chance mit der Amazondatei.
Im Internet habe ich gelesen das für verschiedene Namensräume ein include Befehl eingesetzt wird.
Im Admin Forum habe ich einen Beitrag gefunden, indem für Unterschiedliche Felder value-of select eingesetzt wird.

Ich habe mir den xml copy Editor installiert und gehört das ich eine xlst Datei benötige. Ein Video
"Simple XSLT Tutorial - XSLT in 5 minutes" das ich gefunden habe ist leider nur Englisch.
Bitte helft mir und gebt mir paar weitere Tipps das ich diese verdammte Datei einlesen kann.

Funktioniert Beispiel:
Bestellimport

<?xml version="1.0" encoding="iso-8859-1"?>
<ORDER_LIST>
<ORDER xmlns="http://www.opentrans.org/XMLSchema/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" type="standard">
<ORDER_HEADER>
<CONTROL_INFO>
<GENERATOR_INFO>Shop 2.0</GENERATOR_INFO>
<GENERATION_DATE>2007-10-16T14:26:24+01:00</GENERATION_DATE>
</CONTROL_INFO>
<ORDER_INFO>
<ORDER_ID>R-10440/01</ORDER_ID>
<ORDER_DATE>2007-10-16T13:26:24+01:00</ORDER_DATE>
<ORDER_PARTIES>
<BUYER_PARTY>
<PARTY>
<ADDRESS>
<NAME>RSN Nord GmbH Liefer</NAME>
<NAME2>Rautenberg</NAME2>
<NAME3>Karl-Heinz</NAME3>
<STREET>Dorfstraße 66</STREET>
<ZIP>24800</ZIP>
<CITY>Elsdorf</CITY>
<COUNTRY>DE</COUNTRY>
<PHONE type="other" />
<FAX />
<EMAIL>info@rsn-nord.de</EMAIL>
</ADDRESS>
</PARTY>
</BUYER_PARTY>
<INVOICE_PARTY>
<PARTY>
<ADDRESS>
<NAME>RSN Nord GmbH</NAME>
<NAME2>Meier</NAME2>
<NAME3>Uwe</NAME3>
<STREET>Hochstr. 33</STREET>
<ZIP>24800</ZIP>
<CITY>Elsdorf-Westermühlen</CITY>
<COUNTRY>DE</COUNTRY>
<PHONE type="other" />
<FAX />
<EMAIL>info@rsn-nord.de</EMAIL>
</ADDRESS>
</PARTY>
</INVOICE_PARTY>
<SUPPLIER_PARTY>
<PARTY>
<ADDRESS>
<NAME>Bregetec Supershop</NAME>
<NAME2>Grandjean</NAME2>
<NAME3>Gudrun</NAME3>
<STREET>Bergstr. 7</STREET>
<ZIP>79110</ZIP>
<CITY>Freiburg</CITY>
<COUNTRY>DE</COUNTRY>
<VAT_ID>DE812398835</VAT_ID>
<EMAIL>info@bregetec.com</EMAIL>
</ADDRESS>
</PARTY>
</SUPPLIER_PARTY>
</ORDER_PARTIES>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<PAYMENT>
<CARD>
<CARD_NUM>5500000000000004</CARD_NUM>
<CARD_EXPIRATION_DATE>2005-12</CARD_EXPIRATION_DATE>
<CARD_TYPE>MC</CARD_TYPE>
<CARD_HOLDER_NAME>Karsten Meier</CARD_HOLDER_NAME>
</CARD>
</PAYMENT>
<REMARK type="delivery_method">Post - Nachnahme</REMARK>
<REMARK type="shipping_fee">5.00</REMARK>
<REMARK type="tax_area">Merchant</REMARK>
<REMARK type="order">Das ist eine Bestellung vermittelt durch Herrn Mikolwski</REMARK>
<REMARK type="additional_costs">20.00</REMARK>
</ORDER_INFO>
</ORDER_HEADER>
<ORDER_ITEM_LIST>
<ORDER_ITEM>
<LINE_ITEM_ID>0</LINE_ITEM_ID>
<ARTICLE_ID>
<SUPPLIER_AID>SI 4248</SUPPLIER_AID>
<DESCRIPTION_SHORT>Sunny Island SI 4248</DESCRIPTION_SHORT>
<DESCRIPTION_LONG>Inselnetz Sunny Island SI 4248, einfacher Aufbau von Inselnetzen durch modulare Kopplung aller Komponenten auf der AC-Seite, ausgelegt für raue Umgebungsbedingungen</DESCRIPTION_LONG>
</ARTICLE_ID>
<QUANTITY>1</QUANTITY>
<ORDER_UNIT>1</ORDER_UNIT>
<ARTICLE_PRICE type="gros_list">
<PRICE_AMOUNT>2748.90</PRICE_AMOUNT>
<PRICE_LINE_AMOUNT>2748.90</PRICE_LINE_AMOUNT>
<TAX>0.19</TAX>
</ARTICLE_PRICE>
</ORDER_ITEM>
<ORDER_ITEM>
<LINE_ITEM_ID>1</LINE_ITEM_ID>
<ARTICLE_ID>
<SUPPLIER_AID>HVG-01-0001-00</SUPPLIER_AID>
<DESCRIPTION_SHORT>Holzvergaser 18 kW</DESCRIPTION_SHORT>
<DESCRIPTION_LONG> Fireside Holzvergaser Gesamtwärmeleistung: 18 kW, Wirkungsgrad: 85%, Höhe: 1120 mm, Tiefe: 950 mm, Breite: 580 mm</DESCRIPTION_LONG>
</ARTICLE_ID>
<QUANTITY>1</QUANTITY>
<ORDER_UNIT>1</ORDER_UNIT>
<ARTICLE_PRICE type="gros_list">
<PRICE_AMOUNT>2322.32</PRICE_AMOUNT>
<PRICE_LINE_AMOUNT>2322.32</PRICE_LINE_AMOUNT>
<TAX>0.19</TAX>
</ARTICLE_PRICE>
</ORDER_ITEM>
</ORDER_ITEM_LIST>
<ORDER_SUMMARY>
<TOTAL_ITEM_NUM>2</TOTAL_ITEM_NUM>
<TOTAL_AMOUNT>5071.22</TOTAL_AMOUNT>
</ORDER_SUMMARY>
</ORDER>
<ORDER xmlns="http://www.opentrans.org/XMLSchema/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" type="standard">
<ORDER_HEADER>
<CONTROL_INFO>
<GENERATOR_INFO>Shop 2.0</GENERATOR_INFO>
<GENERATION_DATE>2007-10-04T11:56:20+01:00</GENERATION_DATE>
</CONTROL_INFO>
<ORDER_INFO>
<ORDER_ID>R-10140/00</ORDER_ID>
<ORDER_DATE>2007-10-04T11:50:26+01:00</ORDER_DATE>
<ORDER_PARTIES>
<BUYER_PARTY>
<PARTY>
<ADDRESS>
<NAME>SPN AG Liefer</NAME>
<NAME2>Hoffmann</NAME2>
<NAME3>Willi</NAME3>
<STREET>Bergstr. 8</STREET>
<ZIP>79110</ZIP>
<CITY>Freiburg</CITY>
<COUNTRY>DE</COUNTRY>
<PHONE type="other" />
<FAX />
<EMAIL>w.hoffmann@spn.de</EMAIL>
</ADDRESS>
</PARTY>
</BUYER_PARTY>
<INVOICE_PARTY>
<PARTY>
<ADDRESS>
<NAME>SPN AG</NAME>
<NAME2>Grandjean</NAME2>
<NAME3>Günter</NAME3>
<STREET>Reutener Str. 21</STREET>
<ZIP>79279</ZIP>
<CITY>Vörstetten</CITY>
<COUNTRY>DE</COUNTRY>
<PHONE type="other" />
<FAX />
<EMAIL>g.grandjean@spn.de</EMAIL>
</ADDRESS>
</PARTY>
</INVOICE_PARTY>
<SUPPLIER_PARTY>
<PARTY>
<ADDRESS>
<NAME>SuperShop GmbH</NAME>
<NAME2>Müller</NAME2>
<NAME3>Stefan</NAME3>
<STREET>Hauptstraße 8</STREET>
<ZIP>12589</ZIP>
<CITY>Stadt</CITY>
<COUNTRY>DE</COUNTRY>
<VAT_ID>DE812398835</VAT_ID>
<EMAIL>hansd@xyz.de</EMAIL>
</ADDRESS>
</PARTY>
</SUPPLIER_PARTY>
</ORDER_PARTIES>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<PAYMENT>
<ACCOUNT>
<HOLDER>Heinz Mayer</HOLDER>
<BANK_NAME>Dresdner Bank 24</BANK_NAME>
<BANK_COUNTRY>DE</BANK_COUNTRY>
<BANK_CODE>45826377</BANK_CODE>
<BANK_ACCOUNT>0159236</BANK_ACCOUNT>
<PAYMENT_TERM TYPE="unece">54</PAYMENT_TERM>
</ACCOUNT>
</PAYMENT>
<REMARK type="delivery_method">UPS</REMARK>
<REMARK type="shipping_fee">12.00</REMARK>
<REMARK type="tax_area">Merchant</REMARK>
<REMARK type="order">Diese Bestellung ist äußerst wichtig</REMARK>
<REMARK type="additional_costs">45.00</REMARK>
</ORDER_INFO>
</ORDER_HEADER>
<ORDER_ITEM_LIST>
<ORDER_ITEM>
<LINE_ITEM_ID>0</LINE_ITEM_ID>
<ARTICLE_ID>
<SUPPLIER_AID>RB0010</SUPPLIER_AID>
<DESCRIPTION_SHORT>Ruby 10</DESCRIPTION_SHORT>
<DESCRIPTION_LONG>Hochleistungs-Heatpipe-Röhrenkollektor; LBH:1720x680x76; Gewicht 26 kg; Gesamtfläche 1,17m2; Kapazität 0,85l</DESCRIPTION_LONG>
</ARTICLE_ID>
<QUANTITY>1</QUANTITY>
<ORDER_UNIT>3</ORDER_UNIT>
<ARTICLE_PRICE type="gros_list">
<PRICE_AMOUNT>270.50</PRICE_AMOUNT>
<PRICE_LINE_AMOUNT>811.50</PRICE_LINE_AMOUNT>
<TAX>0.19</TAX>
</ARTICLE_PRICE>
</ORDER_ITEM>
<ORDER_ITEM>
<LINE_ITEM_ID>1</LINE_ITEM_ID>
<ARTICLE_ID>
<SUPPLIER_AID>596</SUPPLIER_AID>
<DESCRIPTION_SHORT>Heizungsunterstützungspaket</DESCRIPTION_SHORT>
<DESCRIPTION_LONG>Grundpaket zur Brauchwassererwärmung und Heizungsunterstützung; Kollektorfläche 8,45m2, mit 1000 Liter Solarschichtenspeicher </DESCRIPTION_LONG>
</ARTICLE_ID>
<QUANTITY>1</QUANTITY>
<ORDER_UNIT>1</ORDER_UNIT>
<ARTICLE_PRICE type="gros_list">
<PRICE_AMOUNT>7100.00</PRICE_AMOUNT>
<PRICE_LINE_AMOUNT>7100.00</PRICE_LINE_AMOUNT>
<TAX>0.19</TAX>
</ARTICLE_PRICE>
</ORDER_ITEM>
</ORDER_ITEM_LIST>
<ORDER_SUMMARY>
<TOTAL_ITEM_NUM>2</TOTAL_ITEM_NUM>
<TOTAL_AMOUNT>7911.50</TOTAL_AMOUNT>
</ORDER_SUMMARY>
</ORDER>
</ORDER_LIST>


Funktioniert nicht:
Order.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="file:///D:/Udo%20Frei/Lexanwendungen/production/reports/transform.xslt"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>M_SCHORNIREI_5062692</MerchantIdentifier>
</Header>
<MessageType>OrderReport</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderReport>
<AmazonOrderID>301-4985573-32248</AmazonOrderID>
<AmazonSessionID>301-4985573-32248</AmazonSessionID>
<OrderDate>2017-03-22T21:53:05+00:00</OrderDate>
<OrderPostedDate>2017-03-22T21:53:05+00:00</OrderPostedDate>
<BillingData>
<AlreadyPaid/>
<BuyerEmailAddress>dwpngczzf7079h2@marketplace.amazon.de</BuyerEmailAddress>
<BuyerName>Axel KRUG</BuyerName>
<BuyerPhoneNumber>016002086</BuyerPhoneNumber>
<Address>
<Name>Axel KRUG</Name>
<AddressFieldOne>Vohwinkel STR. 34</AddressFieldOne>
<City>BARGFELD-STEGEN</City>
<StateOrRegion>Schleswig-Holstein</StateOrRegion>
<PostalCode>33286</PostalCode>
<CountryCode>DE</CountryCode>
<PhoneNumber>016096392086</PhoneNumber>
</Address>
</BillingData>
<FulfillmentData>
<FulfillmentMethod>Ship</FulfillmentMethod>
<FulfillmentServiceLevel>Standard</FulfillmentServiceLevel>
<ShipServiceName>Std DE Dom</ShipServiceName>
<Address>
<Name>Axel KRUG</Name>
<AddressFieldOne>Kuder Straße 34</AddressFieldOne>
<City>Koeln</City>
<StateOrRegion>Schleswig-Holstein</StateOrRegion>
<PostalCode>51105</PostalCode>
<CountryCode>DE</CountryCode>
<PhoneNumber>012226/24155</PhoneNumber>
</Address>
</FulfillmentData>
<Item>
<AmazonOrderItemCode>49437747657165</AmazonOrderItemCode>
<SKU>4260257181303</SKU>
<Title>Brunner Campingbedarf Frischwassertankreiniger H11 Plus, 37834</Title>
<CustomizationInfo>
<Type>Condition</Type>
<Data>new</Data>
</CustomizationInfo>
<CustomizationInfo>
<Type>DateListed</Type>
<Data>2014-05-14T08:11:43+00:00</Data>
</CustomizationInfo>
<CustomizationInfo>
<Type>MarketplaceID</Type>
<Data>A1PA6795UKMFR9</Data>
</CustomizationInfo>
<CustomizationInfo>
<Type>CompoundTitle</Type>
<Data>Brunner Campingbedarf Frischwassertankreiniger H11 Plus, 37834 [Ausrüstung]</Data>
</CustomizationInfo>
<CustomizationInfo>
<Type>ListingID</Type>
<Data>0514OS4VI04</Data>
</CustomizationInfo>
<CustomizationInfo>
<Type>ConditionType</Type>
<Data>new</Data>
</CustomizationInfo>
<CustomizationInfo>
<Type>points_granted</Type>
<Data>0</Data>
</CustomizationInfo>
<Quantity>1</Quantity>
<ProductTaxCode>PTC_PRODUCT_TAXABLE_A</ProductTaxCode>
<ItemPrice>
<Component>
<Type>Principal</Type>
<Amount currency="EUR">13.01</Amount>
</Component>
<Component>
<Type>Shipping</Type>
<Amount currency="EUR">3.90</Amount>
</Component>
<Component>
<Type>Tax</Type>
<Amount currency="EUR">0.00</Amount>
</Component>
<Component>
<Type>ShippingTax</Type>
<Amount currency="EUR">0.00</Amount>
</Component>
<Component>
<Type>CODFee</Type>
<Amount currency="EUR">0.00</Amount>
</Component>
<Component>
<Type>VatExclusiveItemPrice</Type>
<Amount currency="EUR">13.01</Amount>
</Component>
<Component>
<Type>VatExclusiveShippingPrice</Type>
<Amount currency="EUR">3.90</Amount>
</Component>
</ItemPrice>
<ItemFees>
<Fee>
<Type>Commission</Type>
<Amount currency="EUR">-2.54</Amount>
</Fee>
</ItemFees>
<IsAmazonInvoiced>false</IsAmazonInvoiced>
</Item>
</OrderReport>
</Message>
</AmazonEnvelope>

Für eine Lösung wäre ich sehr dankbar.

Content-ID: 334003

Url: https://administrator.de/contentid/334003

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

132895
Lösung 132895 05.04.2017 aktualisiert um 13:23:55 Uhr
Goto Top
Ein Video "Simple XSLT Tutorial - XSLT in 5 minutes"
face-big-smile face-big-smile <X-) Joa, das ist unsere Jugend heutzutage, können keine fünf Zeilen mehr lesen.
Für eine Lösung wäre ich sehr dankbar.
Erst mal solltest du hier ein Mapping(Zuordnung) der Tags vornehmen, das wird dir hier bestimmt keiner für umsonst abnehmen face-confused.
Klopfst an, dann kann man gerne über eine Honorarvereinbarung reden wenn dann das Mapping klar ist.

hauruck
usenussi
usenussi 15.04.2017 um 13:53:18 Uhr
Goto Top
Ich habe folgendes ohne Erfolg probiert mit einer Datei Transform.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<ORDER_LIST>
<ADDRESS>
<Name><xsl:value-of select="NAME"/></Name>
<STREET><xsl:value-of select="AddressFieldOne"/></STREET>
<CITY><xsl:value-of select="City"/></CITY>
<ZIP><xsl:value-of select="PostaleCode"/></ZIP>
<COUNTRY><xsl:value-of select="CountryCode"/></COUNTRY>
<PHONE type="orther"/>
<EMAIL>info@rsn-nord.de</EMAIL>
</ADDRESS>
</ORDER_LIST>
</xsl:template>
</xsl:stylesheet>

Ich wäre ja schon froh wenn ich eine Zeile zb. Name importiert bekäme um den Zusammenhang zu verstehen.
Wie ist der allgemeine Zusammenhang einer xslt zu der zu importierenden XML .Xslt und XML im gleichen Verzeichniss ist ja kein Problem, aber die Original XML kann ja nicht immer verändert werden. Wird ein Zusammenhang mit der xslt automatisch erkannt damit die Felder im richtigen Format importiert werden?
Ich freue mich für jeden Hinweis.