Java - XML - Rekursion - Verwirrung

H

Honululu

Gast
Hallo zusammen,

eigentlich ist die Aufgabe gar nicht schwer.. nur bin ich heute etwas verwirrt...

folgender Code Ausschnitt liefert immer "null" zurück .. was mir klar ist, da der Rekursionsausstieg das in Verbindung mit der letzten Zeile bewirkt.. aber wie kann ich es richtig lösen (ohne globale "found" Variable):

Java:
private String getNodeValue(Node node, String xmlName){
	if(node.getNodeName().equals(xmlName)) 
		return node.getNodeValue();
			
	NodeList nodes = node.getChildNodes();
	for(int i=0;i<nodes.getLength();i++){
		Node sub = nodes.item(i);
		if(sub.getNodeType() != Node.ELEMENT_NODE) continue;
		return getNodeValue(sub, xmlName);		
	}
	return null;			
}

ich möchte eigentlich nur den Wert eines zu suchenden Tags aus einer XML Struktur zurückliefern..

Hoffe jemand hilft meinem verwirrten Hirn auf die sprünge.. :)

LG
 
S

SlaterB

Gast
es kann so wie es ist durchaus schon funkionieren, die letzte Zeile muss überhaupt nicht drankommen,
sondern z.B. auf höheren Ebenen immer Zeile 9 und dann Zeile 3 wenn alles stimmt

bisher siehts aber so aus, als ob Zeile 9 immer aufs erste Element in der Liste angewandt wird,
ganz gleich ob bei der Untersuche dieses Elementes + deren Kinder was gefunden wurde,

wahrscheinlich kommt da null zurück, weil nicht zufällig genau das Ziel erreich wurde,
und dann ist mit return auch gleich Schluss, die anderen Elemente der Liste haben keine Chance,

sinnvoll wäre also Zeile 9:
String x = getNodeValue(sub, xmlName);
if (x != null) {
return x;
}
// ansonsten in der Schleife weitersuchen oder am Ende wirklich return null, Zeile 11

(oh, hoffentlich war das jetzt nicht die ganze Hausaufgabe ;) )
 
H

Honululu

Gast
Hy Slater,
danke für deine schnelle Antwort...

ich bin mir nicht sicher ob ich dich richtig verstanden habe.. ich denke das problem ist, wenn Zeile 3 ausgeführt wird, trotzdem noch der Rekursionsausstieg durchgeführt wird. und am Ende dann Zeile 11 ausgeführt wird..

was meinst du mit Zeile p ? wo soll ich das einfügen das du vorschlägst?

mfg
 
S

SlaterB

Gast
hab noch bisschen editiert,

ansonsten beschreibe du bitte genauer was du meinst, z.B. ein kurzer Beispiel-Baum, Suchstring und Rekursionsabfolge die du vermutest,
ich kann dir dann sagen wie es spätestens mit meiner Korrektur korrekt läuft
 
H

Honululu

Gast
sorry .. irgendwie bin ich zu blöd dir zu folgen :) ich hab keine Ahnung wie du das meinst .. Zeile 9 ersetzen? Dann ist doch die Rekursion dahin?!?

Also was ich suche..
z.b.

<xy>
<Haus>amSee</Haus>
</xy>

Dann wäre der Funktionsaufruf

node = obige XML Struktur
getNodeValue(node, "Haus")

und der returnwert soll "amSee" sein
 
S

SlaterB

Gast
> Zeile 9 ersetzen? Dann ist doch die Rekursion dahin?!?

du sollst den Code von Zeile 9, also die eine Zeile, rauswerfen und dafür paar neue bessere Code-Zeilen einfügen,
die Nummerierung ist danach gewiss hin,
dass die Rekursion davon kaputt geht wage ich aber zu bezweifeln, hast du Argumente? ;)

> und der returnwert soll "amSee" sein

eben, wird funktionieren, oder was genau geht nicht?
 
H

Honululu

Gast
Ups.. klar du hast Recht, die Rekusion ist nicht futsch :)

Mein Fehler war, dass ich bemerkt habe das die Namensgebung der Funktion nicht gerade vorteilhaft ist, da der funktionsname im Node ebenfalls existiert und ich auch verwendet.. das hat mich gerade selbst durcheinander gebracht :)

Es funktioniert .. kam zwar zuerst auch null raus, jedoch war der Fehler in Zeile 3, da hier das Ergebnis von node.getNodeValue() null ist. komischerweise muss man da glaube ich immer erst noch die childs abfragen und dann von item(0) das Value um "amSee" zu erhalten...

danke dir Slater!!!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W jaxws jaxb wsdl Java-Klassen generieren und binding.xml verwenden XML & JSON 1
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
T Tags in XML Datei mit Java erstellen XML & JSON 3
E JAXB und java.nio.file.Path XML & JSON 4
B XML-Daten mit SAX Parser verarbeiten in Java XML & JSON 4
S Java REST Client + Json XML & JSON 8
L Lässt sich folgendes so oder so ähnlich mit Java und XML umsetzen XML & JSON 3
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
L login - Java IOException jaas.config File or Directory not present XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
J JSON zu Java mit der GSON Google API XML & JSON 0
B JAXB - java.util.Locale does not have a no-arg default constructor XML & JSON 2
E JAVA simple.JSONObject cannot be cast to simple.JSONArray XML & JSON 9
P Einheiten in Java XML & JSON 4
T Visualisierung von XML Dateien in einer Java SwingGui XML & JSON 11
A WSDL und Java XML & JSON 5
A XMLRPC für Java XML & JSON 3
S XML auf Java Klassen Mappen XML & JSON 10
N Java XML schreiben funktioniert nicht XML & JSON 1
B aus xsd Java Klassen generieren XML & JSON 3
MiMa Mehrfachvariablen in Java durch XML XML & JSON 4
Q XML-File als Objekt in Java XML & JSON 6
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
AMStyles XPATH Befehl SVG Java XML & JSON 2
S Wie aktualisiert man den Java-Kode mit FOP1.0? XML & JSON 1
L XSL: Aufruf Java-class XML & JSON 11
N Java Code aus XML Datei generieren XML & JSON 8
GUI-Programmer java.io.File aus .jar beziehen XML & JSON 6
A Unterschiedliche Datenstruktur XML <-> Java mappen XML & JSON 9
R XSD aus Java Klassen erzeugen?? XML & JSON 2
N xsd pattern in java einlesen XML & JSON 6
M java.lang.RuntimeException: Failed to parse document XML & JSON 4
F SOAP in Java XML & JSON 6
Q Atom/RSS-Feed lesen - per XSD zu Java-Code XML & JSON 4
S JAXB 2 und Java Annotationen/Interfaces generieren XML & JSON 3
N Google Wetter XML (nur current_condition) auslesen mit Java XML & JSON 15
F Einlesen von JDBC connection in Java von XML XML & JSON 4
D xsd->java mit Eclipse?! oder wie? XML & JSON 27
M Probleme mit XPath bei Java XML & JSON 5
_dp Java XML Parse error: findet end-tags nicht XML & JSON 10
V JAXB schema 2 java XML & JSON 3
S XJC --> Java-Objects compile Problem XML & JSON 4
G Mit JSON Java und C# verbinden XML & JSON 4
K XML Datei in ein Java package „einbinden" XML & JSON 3
F XML Datei in Java einlesen XML & JSON 4
J XSD > XML > Java XML & JSON 7
F XML mit Java XML & JSON 2
algorismi SVG Datein mit Batik in Java reinladen XML & JSON 3
S Java - Klassen erzeugen aus xsd bzw. wsdl XML & JSON 3
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
Mike90 -xlsx Dateien in Java lesen XML & JSON 3
T StAX / SAX => Wie XML Datenstruktur in Java abbilden? XML & JSON 2
H XML plattformunabhängig/Open Source für Java XML & JSON 4
C Java-Imports bei Jaxb XML & JSON 8
slawaweis Problem mit XSLT (wahrscheinlich ein Bug in Java 6) XML & JSON 16
Fadi .classpath(XML) mit Java lesen XML & JSON 2
M Frage zu Erklärung im Online book "Java ist auch eine I XML & JSON 4
M Problem mit FOP in Java Programm XML & JSON 2
H Fop / Java /Fonts XML & JSON 6
H XSL Aufruf via Java mit neuen Fonts XML & JSON 9
T Java Klasse für gegebenes XML erstellen XML & JSON 4
M Xlink in Java-Objekt umwandeln XML & JSON 9
S Jdom+java webstart XML & JSON 4
P Einstieg in XML mit Java XML & JSON 3
G MS-Word Dokument mit Java erstellen XML & JSON 2
N AXIOM mit Java 1.4 XML & JSON 4
J DTD in Java integrieren? XML & JSON 3
L XML Datei in Java angeben Pfad? XML & JSON 3
G Problem mit XML-Schema Validierung mit Java XML & JSON 12
G XML mit JAVA an URL senden (http post) XML & JSON 12
D Java DOM Ausgabe ohne XML header XML & JSON 4
S XML Strings in JAVA einlesen, aber wie? XML & JSON 8
S Java 6 und Xerces-j-2-9 XML & JSON 3
E XML mit java einlesn XML & JSON 2
L mit Java eine HTML-Datei erstellen XML & JSON 3
O OpenDocument-Tabelle mit Java lesen und schreiben XML & JSON 3
G JAVA und DOM XML & JSON 2
M Java und XSLT: Performanz-Problem XML & JSON 5
P DTD -> Java XML & JSON 4
K xml --> sax --> java objekthierarchie XML & JSON 2
B DTD aus Java erzeugen XML & JSON 2
S JAVA XML Parser der einen String parst XML & JSON 3
K java + xpath -> performanceproblem XML & JSON 9
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
A Kann XML weitere XMLs inkludieren? Oder kann es Java? XML & JSON 5
vogella *Erledigt* XML und Java DOM Tutorial XML & JSON 3
T SOAP mit Java ohne HTTP Server möglich? XML & JSON 3
C HTML-Befehle per Java entfernen XML & JSON 7
W Java und XML - help request XML & JSON 3
M [SOLVED]Ausgabe mit Java XML & JSON 2
P Unterschiede java 1.4 und 1.3 XML & JSON 3
M generate SVG with java XML & JSON 2
G java+xml mit dom4j XML & JSON 4
P XSLT in Java verwenden XML & JSON 7
M Auswertung arithmetischer Ausdrücke mit SAX und Java XML & JSON 7
S XMl Dateien in Java schreiben XML & JSON 4
B XML-Document mit Java erzeugen und zuruecksenden XML & JSON 1
J Beispiel aus Java Magazin 03/2004 gesucht ! XML & JSON 6
R java.net.MalformedURLException: no protocol . XML & JSON 12

Ähnliche Java Themen

Neue Themen


Oben