ChildNode via XPath ansprechen

Highttower

Mitglied
Hallo zusammen,

ich versuche eine große XML-Datei (Datenbank Dump [18 GB]) in Java einzulesen und zu verarbeiten.

Und stoße momentan bei trivalen Dingen wie z.B. ChildNodes per Knoten Namen statt Index anzusprechen auf erhebliche Probleme!

Folgendes habe ich bisher herausgefunden:

Nach ner Stunde suchen bin ich auf dieses CodeSnipet gestoßen:

Java:
private NodeList getNodeList(String xpathAusdruck, org.w3c.dom.Document doc) throws Exception
	{	
		XPath xpath = XPathFactory.newInstance().newXPath();
		// XPath Query for showing all nodes value
		XPathExpression expr = xpath.compile(xpathAusdruck);

		Object result = expr.evaluate(doc, XPathConstants.NODESET);
		NodeList nodes = (NodeList) result;
		
		return nodes;
	}

Mein Problem hier dran ist, das wenn ich Nodes und nicht Dokumente ansprechen will. Hierfür finde ich nix. :(

Nehme alles was ich kriegen kann auch gern lmgtfu Links (ich benutze bestimmt nur google falsch [kann mir nicht vorstellen das es sowas in Java nicht gibt]).

Vielen Dank,

Tobi

PS: Entschuldigung für die doofe Frage, ich häng aber grad echt dran fest. Der Post ist mir doch sehr peinlich :oops:

EDIT:
Ich arbeite jetzt mit dem Document und IndexOf und baue jetzt XPath ausdrücke ala "/rootNode/child[1]/table[124]/item[167178]/text()" immer neu zusammen ...

Wenn jemand ne Lösung / nen Lösungsansatz für:

"Ich übergebe table[124] und wähle an diesem den XPATH Ausdruck für item[167178]."

würd ich mich freun.

Mfg,

Tobi
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Also wo genau besteht jetzt das Problem, kannst du das nochmal kurz zusamenfassen? Denn nach deinem EDIT scheinst du ja schon eine Lösung zu haben, den String kannst du dir doch einfach zusammenbauen ?!
 

Highttower

Mitglied
Hallo,

entschuldige wenn mein Problem nicht ganz ersichtlich ist.

Wenn ich eine XML-Datei anspreche, kann ich momentan folgendes tun:

  • XML Knoten aus dem Dokument via XPath ansprechen
  • Kinder von XML-Knoten über den Index ansprechen

Ich würde gerne Kinder von XML Knoten via XPath ansprechen können.

Momentan übergebe ich Knoten an meine Workmethoden so: void Foo(String XPathZurParentNode, Node XmlNode, int indexDesKnotens)

Wenn ich jetzt ein Kindknoten ansprechen will, muss ich entweder mit einer Schleife alle Kindknoten abklappern und dort dann immer den NodeName prüfen oder ich baue mir einen XPath ausdruck (so mache ich das jetzt) zusammen:

Java:
String xpathExp = XPathZurParentNode + XmlNode.NodeName + "[" + indexDesKnotens + "]/" + NameDesGesuchtenKindes;

Dann das ganze an die getNodeList(siehe erster Post) übergeben um die Kinder heraus zu bekommen.

Aus C# kenn ich es, dass man an einem Kindknoten auch mit einer lokalen X-Path ansprechen kann ist das in Java auch Möglich oder muss ich jedes mal über das Dokument ansprechen?

Vielen Dank,

Tobi
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kirby.exe Probleme mit XML XPATH Select XML & JSON 3
B XPath soll XML liefern XML & JSON 7
O XPATH Problem - Anfänger XML & JSON 4
M dom4j unberechtigte Invalid XPath expression XML & JSON 12
W XPath schreiben XML & JSON 1
P HTML XPath XML & JSON 1
S Ersatz für die veraltete Klasse XPath XML & JSON 1
C XPath: Alle Kinder in einer Schleife auslesen XML & JSON 2
P Xpath zugriff auf Attribute XML & JSON 3
P "XPath is deprecated" XML eclipse XML & JSON 3
G HtmlUnit XPath XML & JSON 5
D XPath-Query XML & JSON 2
I XPath Namensräume und auslesen einzelner Knoten XML & JSON 3
AMStyles XPATH Befehl SVG Java XML & JSON 2
G xpath: in Kindelement zwei Attribut-Werte auslesen XML & JSON 2
G xpath: Inhalt eines Kindelements auslesen XML & JSON 2
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
S Attribute von Elementen auslesen mit XPath XML & JSON 2
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
W XPath + Inhalt aus <td> XML & JSON 2
R XPath - frage zur Adressierung XML & JSON 3
reibi XPath XML & JSON 14
M xPath liefert leeres Nodeset XML & JSON 2
M Probleme mit XPath bei Java XML & JSON 5
W Element mit XPath @id ermitteln wenn nur ein teil der id bekannt ist XML & JSON 2
F XPath-Problem mit DOM4J XML & JSON 8
T XPath Problem: finden einer Node nach Attributswert XML & JSON 2
O XPATH gesucht XML & JSON 6
G XPATH-Frage XML & JSON 2
L Element manipulieren in einem DOMResult per XPath XML & JSON 10
P XPath und Namespaces XML & JSON 3
G XPath - replace function funktioniert nicht XML & JSON 3
E XPATH-Ausdruck mit not XML & JSON 4
E Wieso liefert dieser XPATH-Ausdruck nicht die richtige Anzahl Treffer? XML & JSON 8
M XPath Ausdruck validieren XML & JSON 2
N XPath Adressierung XML & JSON 7
F XPath frage XML & JSON 4
B Optionaler XPath pfad XML & JSON 2
B XPath frage XML & JSON 2
T Frage zu XQuery (XQJ) / XPath XML & JSON 2
P XPath Problem XML & JSON 2
S Problem mit XPath XML & JSON 4
T Mit XPATH finden und dann änder XML & JSON 2
T EXSD auslesen mit XPath und JDOM XML & JSON 8
G XPath gesucht für Tag mit konkretem Content XML & JSON 2
A XPath Problem XML & JSON 2
C XPath in JDOM klappt nicht XML & JSON 2
T Prbolem XPath XML & JSON 2
X Xpath, alle Element die mit "user" beginnen auswäh XML & JSON 2
loadbrain XPath Problem XML & JSON 2
M brauche große XML-Datei für XPath-Tests XML & JSON 4
M JDOM und XPath, zu Element zugehörigen XPath-Ausdruck XML & JSON 5
F JDOM und XPath - Problem mit Namespace ohne Prefix XML & JSON 5
F hilfe bei xpath-ausdruck XML & JSON 2
K java + xpath -> performanceproblem XML & JSON 9
H Xpath kindelemente auslesen XML & JSON 2
S Xml zurück in xpath wandeln XML & JSON 8
G Frage zu XPath XML & JSON 2
flashfactor Filtern mittels XPATH XML & JSON 4
M XSL/XPath - Nur ersten Wert mit selben Attribut XML & JSON 4
M XPath Problem im Zusammenhang mit document() XML & JSON 2
M Frag zu xsl:when beziehungsweise XPath XML & JSON 3
F JDom und XPath XML & JSON 12
C xpath funktioniert nicht XML & JSON 5
M XPATH und RSS (Problem namespaces) XML & JSON 7
P nochmal XPath :-) XML & JSON 22
P XPath . XML & JSON 2
T Rekursiver Verzeichniss Baum in XML & XPath XML & JSON 4
clemson xpath mit jdom XML & JSON 2
Wildcard xpath Parser XML & JSON 8

Ähnliche Java Themen

Neue Themen


Oben