Hallo und Danke für Eure Hilfe!
@Sirius3, habe Deinen Beispielcode mal übernommen.
Bei Zeile 10, gibt es path nicht. Dies sollte sich wohl auf PATH beziehen?
Habe mal path durch PATH ersetzt. Fehler kommen keine mehr, das ist ja schon mal gut.
Nur products gibt [] aus, also keine Daten.
Habe dann mal die Werte (T_NEW_CATALOG, PRODUCT, PRODUCT_DETAILS, DESCRIPTION_SHORT) in der XML-Datei überprüft,
PRODUCT und PRODUCT_DETAILS, gibt es dort nicht sondern ARTICLE und ARTICLE_DETAILS.
Ist wohl nicht die neuste BMECAT-Version, denn laut Wikipedia wurde ja ARTICLE durch PRODUCT ersetzt.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# For Python3.x
import lxml.etree as et
BMENS = "{http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog}"
# PATH = "{0}T_NEW_CATALOG/{0}PRODUCT/{0}PRODUCT_DETAILS/{0}DESCRIPTION_SHORT".format(BMENS)
PATH = "{0}T_NEW_CATALOG/{0}ARTICLE/{0}ARTICLE_DETAILS/{0}DESCRIPTION_SHORT".format(BMENS)
filepath = '/home/whtb/Downloads/preisliste/BMEcat_514281.xml'
tree = et.parse(filepath)
root = tree.getroot()
products = [entry.text
for entry in root.findall(PATH)]
c = 0
for product in products:
print(product)
c += 1
if c == 50:
break
Die Ausgabe von product, ist die Spalte DESCRIPTION_SHORT.
Nun gibt es ja etliche Spalten, die ein Katalog-Produkt beschreiben und definieren.
Wie löst man dies, dass alle Spalten für ein Produkt ausgegeben werden?
Ich poste mal hier den Inhalt eines "Datensatzes" zu ARTICLE, hoffe dass es hilfreich für Euch ist.[codebox=xml file=Unbenannt.xml]
</ARTICLE>
<ARTICLE mode="new">
<SUPPLIER_AID>011108010423</SUPPLIER_AID>
<ARTICLE_DETAILS>
<DESCRIPTION_SHORT>Multifunktions-Papier inapa tecno star, A4, 80 g/m², weiß, 2500 Blatt</DESCRIPTION_SHORT>
<DESCRIPTION_LONG>Multifunktions-Papier inapa tecno star. Ein klassisches Geschäftspapier höchster Zuverlässigkeit und hoher Weiße für alle professionellen Anwendungen. Mit guten Abbildungs- und Laufeigenschaften auf allen modernen Bürogeräten (Laser, Copy, Inkjet, Fax). Und das zu einem wirklich überzeugenden Preis.
Für den umweltorientierten Einkauf auch in der TCF-Version verfügbar, produziert in Europa und unter Einsatz ausschließlich chlorfrei gebleichten Zellstoffs. Ausführung des Papiertyps: holzfrei. Farbe: weiß. Anzahl der Blätter je Packung: 2500 Blatt. Oberfläche: ungestrichen. Verwendung für Druck- oder Schreibgerät: Drucker, Fax, Kopierer. beidseitig bedruckbar. Papierformat: DIN A4 = 21,0 cm x 29,7 cm. Flächenmasse des Papiers: 80 g/m². </DESCRIPTION_LONG>
<EAN>4011211054962</EAN>
<MANUFACTURER_NAME>Inapa</MANUFACTURER_NAME>
<MANUFACTURER_TYPE_DESCR>inapa tecno star</MANUFACTURER_TYPE_DESCR>
<DELIVERY_TIME>1</DELIVERY_TIME>
</ARTICLE_DETAILS>
<ARTICLE_FEATURES>
<REFERENCE_FEATURE_SYSTEM_NAME>ECLASS-6.2</REFERENCE_FEATURE_SYSTEM_NAME>
<REFERENCE_FEATURE_GROUP_ID>24260604</REFERENCE_FEATURE_GROUP_ID>
<FEATURE>
<FNAME>Zolltarifnummer</FNAME>
<FVALUE>48025620</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Hersteller-Name</FNAME>
<FVALUE>Inapa</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Lieferanten-Artikelnummer</FNAME>
<FVALUE>011108010423</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>GTIN</FNAME>
<FVALUE>4011211054962</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Artikelbezeichnung</FNAME>
<FVALUE>inapa tecno star</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Farbe</FNAME>
<FVALUE>weiß</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Zertifikate und Zulassungen</FNAME>
<FVALUE>Sonstige</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Lieferanten-Name</FNAME>
<FVALUE>Papier Union GmbH</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Papierformat</FNAME>
<FVALUE>DIN A4 = 21,0 cm x 29,7 cm</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Anzahl der Blätter je Packung</FNAME>
<FVALUE>2500</FVALUE>
<FUNIT>C62</FUNIT>
</FEATURE>
<FEATURE>
<FNAME>Verwendung für Druck- oder Schreibgerät</FNAME>
<FVALUE>Drucker, Fax, Kopierer</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Oberfläche</FNAME>
<FVALUE>ungestrichen</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Ausführung des Papiertyps</FNAME>
<FVALUE>holzfrei</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Flächenmasse des Papiers</FNAME>
<FVALUE>80</FVALUE>
<FUNIT>gm2</FUNIT>
</FEATURE>
<FEATURE>
<FNAME>beidseitig bedruckbar</FNAME>
<FVALUE>Ja</FVALUE>
</FEATURE>
</ARTICLE_FEATURES>
<ARTICLE_ORDER_DETAILS>
<ORDER_UNIT>CT</ORDER_UNIT>
<CONTENT_UNIT>SH</CONTENT_UNIT>
<NO_CU_PER_OU>2500</NO_CU_PER_OU>
<PRICE_QUANTITY>1</PRICE_QUANTITY>
<QUANTITY_MIN>5</QUANTITY_MIN>
<QUANTITY_INTERVAL>5</QUANTITY_INTERVAL>
</ARTICLE_ORDER_DETAILS>
<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="net_customer">
<PRICE_AMOUNT>Preis nicht vorhanden</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<TAX>0.19</TAX>
<LOWER_BOUND>1</LOWER_BOUND>
<TERRITORY>DE</TERRITORY>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>
<MIME_INFO>
<MIME>
<MIME_TYPE>application/pdf</MIME_TYPE>
<MIME_SOURCE>TechnischeDatenblaetter/Inapa_Tecno/TDB_it_star.pdf</MIME_SOURCE>
<MIME_PURPOSE>data_sheet</MIME_PURPOSE>
</MIME>
<MIME>
<MIME_TYPE>image/jpeg</MIME_TYPE>
<MIME_SOURCE>ProduktAbbildungen/MDS/MDS_inapatecno_star_EBD.jpg</MIME_SOURCE>
<MIME_PURPOSE>STE</MIME_PURPOSE>
<MIME_DESCR>Dieses Bild zeigt eine Ries-Abbildung des Artikels inapa tecno star</MIME_DESCR>
</MIME>
<MIME>
<MIME_TYPE>application/postscript</MIME_TYPE>
<MIME_SOURCE>ProduktAbbildungen/MDS/MDS_inapatecno_star_EBD.eps</MIME_SOURCE>
<MIME_PURPOSE>STE</MIME_PURPOSE>
<MIME_DESCR>Dieses Bild zeigt eine Ries-Abbildung des Artikels inapa tecno star</MIME_DESCR>
</MIME>
<MIME>
<MIME_TYPE>image/jpeg</MIME_TYPE>
<MIME_SOURCE>ProduktAbbildungen/MDS/MDS_inapatecno_Riese_premium_green_formula_star_colour_laser_pro_laser_SAB_WEB-FULLSIZE.jpg</MIME_SOURCE>
<MIME_PURPOSE>STS</MIME_PURPOSE>
<MIME_DESCR>Dieses Bild zeigt eine Abbildung der Produktfamilie inapa tecno Büropapiere</MIME_DESCR>
</MIME>
<MIME>
<MIME_TYPE>application/postscript</MIME_TYPE>
<MIME_SOURCE>ProduktAbbildungen/MDS/MDS_inapatecno_Riese_premium_green_formula_star_colour_laser_pro_laser_SAB.eps</MIME_SOURCE>
<MIME_PURPOSE>STS</MIME_PURPOSE>
<MIME_DESCR>Dieses Bild zeigt eine Abbildung der Produktfamilie inapa tecno Büropapiere</MIME_DESCR>
</MIME>
<MIME>
<MIME_TYPE>image/jpeg</MIME_TYPE>
<MIME_SOURCE>Logos_MDS/MDS_inapatecno_allgemein_Logo.jpg</MIME_SOURCE>
<MIME_PURPOSE>MLO</MIME_PURPOSE>
</MIME>
<MIME>
<MIME_TYPE>application/postscript</MIME_TYPE>
<MIME_SOURCE>Logos_MDS/MDS_inapatecno_allgemein_Logo.eps</MIME_SOURCE>
<MIME_PURPOSE>MLO</MIME_PURPOSE>
</MIME>
<MIME>
<MIME_TYPE>application/pdf</MIME_TYPE>
<MIME_SOURCE>TechnischeDatenblaetter/Inapa_Tecno/TDB_it_star.pdf</MIME_SOURCE>
<MIME_PURPOSE>PDB</MIME_PURPOSE>
</MIME>
</MIME_INFO>
<USER_DEFINED_EXTENSIONS>
<UDX.MDS.Kurztext>Multifunktions-Papier inapa tecno star, A4, 80 g/m², weiß, 2500 Blatt</UDX.MDS.Kurztext>
<UDX.MDS.MARKE>inapa tecno star</UDX.MDS.MARKE>
<UDX.MDS.Gattungsbegriff>Multifunktions-Papier</UDX.MDS.Gattungsbegriff>
<UDX.MDS.Langtext>Multifunktions-Papier inapa tecno star · Ausführung des Papiertyps: holzfrei · Farbe: weiß · Anzahl der Blätter je Packung: 2500 Blatt · Oberfläche: ungestrichen · Verwendung für Druck- oder Schreibgerät: Drucker, Fax, Kopierer · beidseitig bedruckbar · Papierformat: DIN A4 = 21,0 cm x 29,7 cm · Flächenmasse des Papiers: 80 g/m² · </UDX.MDS.Langtext>
<UDX.MDS.Marketingtext>Multifunktions-Papier inapa tecno star. Ein klassisches Geschäftspapier höchster Zuverlässigkeit und hoher Weiße für alle professionellen Anwendungen. Mit guten Abbildungs- und Laufeigenschaften auf allen modernen Bürogeräten (Laser, Copy, Inkjet, Fax). Und das zu einem wirklich überzeugenden Preis.
Für den umweltorientierten Einkauf auch in der TCF-Version verfügbar, produziert in Europa und unter Einsatz ausschließlich chlorfrei gebleichten Zellstoffs. Ausführung des Papiertyps: holzfrei. Farbe: weiß. Anzahl der Blätter je Packung: 2500 Blatt. Oberfläche: ungestrichen. Verwendung für Druck- oder Schreibgerät: Drucker, Fax, Kopierer. beidseitig bedruckbar. Papierformat: DIN A4 = 21,0 cm x 29,7 cm. Flächenmasse des Papiers: 80 g/m². </UDX.MDS.Marketingtext>
</USER_DEFINED_EXTENSIONS>[/code]