XML schaffe es nicht Nodes auszulesen

akchill

Mitglied
Hallo zusammen,

ich verzweifel ich habe folgende XML Datei:

[xml]<Order>
<order xmlns="shop.enfinity/order-1.0" refid="12">
<items>
<item refid="12">
<item-ref-id>12</item-ref-id>
<refid>84</refid>
<product-name>hemd</product-name>
<sku>??</sku>
<tity>1</tity>
<unit-price>
<money currency="EUR">8.9</money>
</unit-price>
<net-price>
<money currency="EUR">8.9</money>
</net-price>
<tax>
<money currency="EUR">0</money>
</tax>
<hemd>
<stoff>
<name>azur</name>
<artikelnummer>5</artikelnummer>
</stoff>
<modell>
<kragen>kent</kragen>
<form>Slim</form>
<allaenge>Normal</allaenge>
<tasche>Knopf</tasche>
<manschette>2 Knopf</manschette>
</modell>
<extras>
<monogram>
<text>C</text>
<positionierungen>
<!-- 0 .. n -->
<position>Tasche</position>
</positionierungen>
</monogram>
<ausstattung>
<!-- 0 .. n -->
<extra>Perlmuttknöpfe</extra>
<extra>Weißer Kragen / weiße Manschetten</extra>
</ausstattung>
</extras>
<vermessung>
<typ>Hemd</typ> <!-- Hemd / Körper / Standard-->
<kragenmass>20,5</kragenmass>
<brustmass>20,5</brustmass>
<bauchmass>20,5</bauchmass>
<schultermass>20,5</schultermass>
<aermelmass>20,5</aermelmass>
<hemdmass>20,5</hemdmass>
</vermessung>
</hemd>
</item>
</items>
</order>
</ExportedOrders>[/xml]


so Jetzt schaffe ich es auf diesen Node zuzugreifen mit folgender scheiß Logik(syr für das Wort)

Java:
File file = new File("export.xml");
  
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = dbf.newDocumentBuilder();
  Document doc = db.parse(file);
  doc.getDocumentElement().normalize();
  System.out.println("Root element " + doc.getDocumentElement().getNodeName());
  NodeList list = doc.getDocumentElement().getChildNodes();
  NodeList list2 = list.item(1).getChildNodes();
  NodeList list3 = list2.item(1).getChildNodes();
  NodeList list4 = list3.item(1).getChildNodes();
  System.out.println(list4.getLength());
  System.out.println(list4.item(12));


Leider kommt bei mir folgende Ausgabe :

Root element ExportedOrders
19 (länge der Childnode)

aber wenn ich eins von den auslesen will kommt sowas

Code:
[#text: 
				]

oder sowas 

[item-ref-id: null]


Also ich komm schon irgendwie auf die Nodes aber ich schaff es nicht sie richtig auszulesen, wenn ihr anmerkungen habt immer her damit:)

Liebe Grüße und schönes WE!
 
Zuletzt bearbeitet von einem Moderator:

Noctarius

Top Contributor
Generell kommen immer ein oder mehrere Text-Nodes. Diese haben auch den NodeType = Text. Diese kannst du einfach überspringen und den nächsten Node nehmen.

Kannst dir aber mal Lycia (siehe Sig) ansehen, falls du nur einen Teil der Werte braucht reicht das vllt.
 

akchill

Mitglied
Also habe jetzt auch mal eine DTD Datei angelegt.

[XML]<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT ExportedOrders (order*)>
<!ELEMENT order (product-line-items*)>
<!ATTLIST order
xmlns CDATA #REQUIRED
refid CDATA #REQUIRED
>
<!ELEMENT product-line-items (product-line-item+)>
<!ATTLIST product-line-item
refid CDATA #REQUIRED
>
<!ELEMENT product-line-item (origin-line-item-ref-id, product-refid, product-name, product-sku, quantity, unit-price*, net-price*, tax*, masshemd*)>
<!ELEMENT unit-price (money)>
<!ELEMENT net-price (money)>
<!ELEMENT tax (money)>
<!ELEMENT masshemd (stoff*, modell*, extras*, vermessung*)>
<!ELEMENT stoff (name, artikelnummer)>
<!ELEMENT modell (kragen, rumpfform, aermellaenge, brusttasche, manschette)>
<!ELEMENT extras (monogram*, ausstattung*)>
<!ELEMENT vermessung (typ, kragenmass, brustmass, bauchmass, schultermass, aermelmass, hemdmass)>
<!ELEMENT monogram (text, positionierungen*)>
<!ELEMENT ausstattung (extra+)>
<!ELEMENT positionierungen (position)>
[/XML]

Meine XML sieht so aus

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE literature SYSTEM "Masshemd.dtd">
<ExportedOrders>
<order xmlns="intershop.enfinity/order-1.0" refid="12709491308174688">
<product-line-items>
<product-line-item refid="1142">
<origin-line-item-ref-id>16284808</origin-line-item-ref-id>
<product-refid>3067984</product-refid>
<product-name>hemd</product-name>
<product-sku>??</product-sku>
<quantity>1</quantity>
<unit-price>
<money currency="EUR">9.9</money>
</unit-price>
<net-price>
<money currency="EUR">9.9</money>
</net-price>
<tax>
<money currency="EUR">0</money>
</tax>
<masshemd>
<stoff>
<name>Uni Popeline / Uni / azur</name>
<artikelnummer>0835</artikelnummer>
</stoff>
<modell>
<kragen>kent</kragen>
<rumpfform>Slim</rumpfform>
<aermellaenge>Normal</aermellaenge>
<brusttasche>Mit Tasche und Knopf</brusttasche>
<manschette>2 Knopf</manschette>
</modell>
<extras>
<monogram>
<text>AB</text>
<positionierungen>
<!-- 0 .. n -->
<position>Auf der Tasche</position>
</positionierungen>
</monogram>
<ausstattung>
<!-- 0 .. n -->
<extra>Perlmuttknöpfe</extra>
<extra>Weißer Kragen / weiße Manschetten</extra>
</ausstattung>
</extras>
<vermessung>
<typ>Hemd</typ> <!-- Hemd / Körper / Standard-->
<kragenmass>20,5</kragenmass>
<brustmass>20,5</brustmass>
<bauchmass>20,5</bauchmass>
<schultermass>20,5</schultermass>
<aermelmass>20,5</aermelmass>
<hemdmass>20,5</hemdmass>
</vermessung>
</masshemd>
</product-line-item>
</product-line-items>
</order>
</ExportedOrders>
[/XML]

könnt ihr mal schauen ob dies so richtig ist? Bitte...

Wenn ich folgendes dann ausführe:

z.b.

System.out.println(doc.getDocumentElement().getElementsByTagName("position").item(0));

kommt das raus :

[position: null]

aber das ist doch nicht richtig;)... ich verstehe es nicht...

liebe grüße!
 

Noctarius

Top Contributor
Steht doch oben. Das erste Child ist ein #TEXT-Node. Je nach VM-Typ können es auch mehrere sein. Z.B. bei der IBM-JVM. Dir bleibt keine andere Wahl, als alle Childs durchzugehen.
 

slawaweis

Bekanntes Mitglied
Also ich komm schon irgendwie auf die Nodes aber ich schaff es nicht sie richtig auszulesen, wenn ihr anmerkungen habt immer her damit:)
versuche es mit XPath:

Java:
XPath xpath = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList)xpath.evaluate("//position/text()", document, XPathConstants.NODESET);

So muss eine Liste von Textknoten herauskommen, für jeden "position" Knoten.

Slawa
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F gson nicht in UTF8 XML & JSON 3
M SOAP-Client funktioniert plötzlich nicht mehr XML & JSON 2
I ID von Referenz speichern, nicht ganzes Objekt XML & JSON 1
S XML Datei speichern nicht möglich XML & JSON 13
T Fehler: Hauptklasse com.sun.tools.internal.xjc.XJCFacade konnte nicht gefunden oder geladen werden XML & JSON 6
W jaxb-api XML Feld nicht gesendet setzt das Defaultvalue nicht XML & JSON 3
M dom4j detach funktioniert nicht XML & JSON 0
H XML Element `Class` wird nicht gelesen XML & JSON 2
C javascript in .html Funktioniert, in .xhtml nicht mehr XML & JSON 0
S xml mit SAX. Sonderzeichen belassen, nicht umsetzen. No "&gt;" in ">" XML & JSON 1
GianaSisters Webservice Integer/Double bitte nicht mitübertragen XML & JSON 2
S Apache Ant - Fehler: Hauptklasse konnte nicht gefunden oder geladen werde XML & JSON 1
H Apache fop1.1 -> Funktion last() wird nicht erkannt XML & JSON 0
D Xml nicht überschreiben! XML & JSON 1
S NodeList rückwärts scannen, alle Parent Nodes ausgeben rekursiv und nicht-reukrsiv XML & JSON 0
E Wie geht man mit Textfiles um, die nicht in Form von XML vorliegen? XML & JSON 4
J XML - Datei wird nicht ganz angezeigt XML & JSON 2
S DTD und XML lassen sich nicht verknüpfen XML & JSON 2
S XML file lässt sich in Eclipse nicht erstellen XML & JSON 2
N Java XML schreiben funktioniert nicht XML & JSON 1
F.S.WhiTeY JAXB: Schema nicht "erben" XML & JSON 2
S Node.setTextContent funktioniert nicht XML & JSON 3
K Verwirrung: Per SSH werden manche Befehle ausgeführt, manche nicht XML & JSON 10
Helgon JDOM schreibt nicht XML & JSON 2
G xml, jdom "Entität wurde referenziert aber nicht deklariert." XML & JSON 4
K Main Methode wird nicht aufgerufen XML & JSON 15
H XML via XSD Validierung nicht möglich? XML & JSON 2
S XML-Serialisierung klappt nicht XML & JSON 5
H Nicht wohlgeformtes XML mit SAX parsen XML & JSON 2
T XML JTree änder sich nicht XML & JSON 2
C DOM: Attribute nicht in alphabetischer Reihenfolge schreiben XML & JSON 3
G Wieviele Elemente von TagName, ich brings nicht hin XML & JSON 5
M XSD - Child Element möglich, aber nicht zwingend erforderlich XML & JSON 6
_dp Java XML Parse error: findet end-tags nicht XML & JSON 10
sylo Nach Export wird SAXParseException nicht mehr geworfen XML & JSON 4
aze JaxB: Nullelemente in Array nicht anzeigen XML & JSON 3
G XPath - replace function funktioniert nicht XML & JSON 3
B Unterschied? Beides Attribut oder nicht? XML & JSON 2
aze JaxB Elemente in LinkedHashSet werden nicht wiededergegeben XML & JSON 3
G Nodes in Document kopieren, nur die Childs, die noch nicht existieren XML & JSON 7
E Wieso liefert dieser XPATH-Ausdruck nicht die richtige Anzahl Treffer? XML & JSON 8
L XML Dokument auslesen funktioniert nicht richtig XML & JSON 2
S finde den Schema-Compiler "xjc" nicht XML & JSON 4
N XML will nicht weder JAXB noch XStream XML & JSON 8
P PHP-Seite anfragen, aber nicht darstellen XML & JSON 5
P XSD Schema: Konstanten mit "fixed" erzeugen geht nicht ??? XML & JSON 3
C Validierung klappt nicht mit Schema XML & JSON 2
F XML Suche funktioniert nicht XML & JSON 5
D nicht (ganz) valiedes XML einlesen! XML & JSON 19
C jdom.Element nicht vorhanden? XML & JSON 4
C XPath in JDOM klappt nicht XML & JSON 2
J Daten werden in ArrayList geschrieben, AL nicht in .xml ? XML & JSON 5
V XMLEncoder: Attribute nicht serialisieren XML & JSON 2
R iReport will nicht XML & JSON 4
T XML-Parsing: Whitespace zw. Elementen wird nicht ignoriert XML & JSON 4
P nicht wohl-geformte XML in wohlgeformte XML umwandeln XML & JSON 5
8 SAXParser Problem, startElement wird nicht ausgeführt XML & JSON 2
M Xerces -Parsen mit einer externen Schemadatei geht nicht XML & JSON 2
H xml - Schema : warum passen die nicht zueinander XML & JSON 2
J [Newbie] [JDOM] Element aus XML entfernen klappt nicht XML & JSON 4
P SAXBuilder wird von Eclipse nicht als ObjektTyp erkannt XML & JSON 3
B JDom -- getChild() liefert nicht nachvollziehbar null XML & JSON 2
K XML to file geht nicht :( XML & JSON 4
S Element addContent(Element) gibts nicht XML & JSON 5
M mit JDOM XML-Datei einlesen, die nicht "well-formed&quo XML & JSON 3
D XML Datei wird nicht gefunden XML & JSON 4
C xpath funktioniert nicht XML & JSON 5
M attribute funken nicht XML & JSON 3
B Validieren meines XMLs mit meiner DTD funktioniert nicht XML & JSON 9
M getChildren gibt nicht alle children zurück XML & JSON 3
P zugriff auf gewuenschte elemente klapp nicht. XML & JSON 3
T Warum passt diese DTD-Zeile nicht zu diesem Dokument? XML & JSON 7
A Element an einer bestimmten Stelle einfügen (nicht am Ende) XML & JSON 4
G xquery - nodes unterscheiden sich nur durch attribute :-( XML & JSON 4
M dom nodes vs. elements? XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben