jdom zu lasch ?

Status
Nicht offen für weitere Antworten.
P

phips.net

Gast
hallo gruppe,

kann es sein, dass ich mit jdom, falls sich jemand damit auskennt, nicht auf geschwisterknoten zugreifen kann ?
der problemfall in der praxis sieht folgendermaßen aus:

mein xml:

<start>
___<kind>
______<kindeskind id="a">bla</kindeskind1>
______<kindeskind id="s">bla</kindeskind1>
______<kindeskind id="f">bla</kindeskind1>
___</kind>
___<kind>
______<kindeskind id="m">bla</kindeskind1>
______<kindeskind id="k">bla</kindeskind1>
______<kindeskind id="l">bla</kindeskind1>
___</kind>
</start>


vorrausgesetzt sei hier mal, dass ich an diese struktur und an jdom gebunden bin;

gibt es eine mglk., eine liste oä. aller kindeskinder zu bekommen, die zwischen den <kind> bloecken stehen ?


falls das tatsaechlich mit jdom nicht moeglich sein sollte - womit ginge es (einfach & schnell) ?


vielen lieben dank.
.p
 
P

phips.net

Gast
nette idee, aber wie 'hangel' ich mich von einem <kind> zum
naechsten. eine methode nextSibling() oä. gibts nicht...oder sehe ich den wald vor lauter baeumen nicht ? :?:
 
P

phips.net

Gast
...liefert mir aber nur eine liste der kindeskinder aus dem ersten <kind> block...
 
R

Roar

Gast
nein, das liefert dir alle kind elemente im start element vorausgesetzt start referenziert auch auf das startelement
 

clemson

Bekanntes Mitglied
dann mach eine xpath abfrage mit jdom.

Code:
org.jdom.Document doc;
org.jdom.xpath.XPath myXPath = XPath.newInstance("//kindeskind");
java.util.List liste = myXpath.selectNodes( doc );
 
P

phips.net

Gast
an xpath habe ich auch schon gedacht; hatte noch nie damit zu tun.
kannst du mir vielleicht auf die spruenge helfen, wie ich damit parat komme ?
dein bsp. spricht ja eigentlich fuer sich. wo sage ich denn, welche knoten ich haben will ?
und, was viel wichtiger ist: angenommen <start> hat noch kinder, die <adoptivkinder> heissen, die wiederum <kind> tags haben, so moechte ich sichergehen, dass ich NUR die kindeskinderelemente von den <kind> knoten bekomme und nicht die der <adoptivkind> knoten. bin mir fast sicher, dass das auch geht. aber wie ?

was waere die welt ohne foren ? bzw. man sollte euch allen, die hier hilfreich sind, mal beizeiten einen orden verleihen ?
 

clemson

Bekanntes Mitglied
also, erstmals ein gutes xpath tutorial .

wenn ich dein beispiel richtig verstanden habe, dann möchtest du nur kindeskind elemnte, welche das mutterelement kind haben, richtig?

dann lautet die abfrage: "//kind/kindeskind"

das // bedeutet dass er alle elemente auswählt kind/kindeskind bedeutet dann eben, dass er alle elemente auswählt, welche diese struktur haben (also selber kindeskind heissen und eine mutter haben die kind heisst).

willst du beispielsweise das kindeskind element, welches die id f hat, dann kannst du mittels xpath abfrage

"//kindeskind[@id='f']" dieses element auswählen, aber im tutorial ist das ganz gut beschrieben.
 

phipsnet

Mitglied
ginge //kind/kindeskind auch bei mehreren <kind> bloecken ?

also:
<kind>
__<kindeskind>
__<kindeskind>
__<kindeskind>
</kind>
<kind>
__<kindeskind>
__<kindeskind>
__<kindeskind>
</kind>

das solls dann gewesen sein - danke fuer den link - wird sogleich studiert. :)
 

phipsnet

Mitglied
nur ums auszuprobieren, hab ich die drei zeilen aus deiner ersten antwort mal eingehackt,
aber bei List variantDrafts = Xpath.selectNodes( doc ); meckert mein compiler

--> cannot find symbol
symbol : variable Xpath
location: class Import
List draftsVariants = Xpath.selectNodes( doc );

hab natuerlich vorher
XPath myXPath = XPath.newInstance("//header/draft/variant"); gesetzt... hmmm

nach 9 std. java raucht mir grad die birne...
 

clemson

Bekanntes Mitglied
deine variable heisst myXPath und nicht XPath!

vielleicht habe ich dich da ein bisschen verwirrt, also:

mit
Code:
XPath myXPath = XPath.newInstance("//header/draft/variant");

legst du eine neue XPath abfrage fest.

mit

Code:
List draftsVariants = myXPath.selectNodes( doc );

wendest du deine abfrage bei einem speziellen dokument an (in diesem fall doc).

und dann steht in draftVariants alle ergebnisse deiner xpath abfrage drinnen.

wie du vielleicht weisst ist jdom auf klassen aufgebaut; d. h mittels

Code:
for (int i=0, int anzahl = draftsVariants.size(); i<anzahl; i++ )
{
    System.out.println(i+". tes Element der Abfrage: '"+draftsVariants.get(i).getClass().toString()+"'");
}

kannst du dir die typen der einzelnen abfragen ausgeben (element, text, attribute, ...)
 

clemson

Bekanntes Mitglied
phipsnet hat gesagt.:
jetzt gehts !!
einen schoenen feierabend !
:D :) :lol: 8)

ja fein, dir auch.

und nochmal zu deiner ursprünglichen überschrift und der frage, ob jdom zu lasch sei.

also ich habe die letzten monate eine diplomarbeit geschrieben, welches mittels java die manipulation von xml dateien zulässt. da war natürlich die frage, welche schnittstelle verwenden wir zwischen java programm und xml datei und wir haben uns für jdom entschieden.

ich habe die erfahrung gemacht dass mittels jdom wirklich eine feine bearbeitung von xml realisierbar ist, weil - so finde ich jedenfalls - jdom sehr logisch und gut aufgebaut ist.

durch die kombination mit xpath sind wirklich viele anwendungsfälle möglich.

wollt ich nur mal so sagen... ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JDOM oder SAX XML & JSON 3
Hijo2006 Grundsätzliches zu JDOM 2.x XML & JSON 1
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
S JDOM XML Datei darstellen Fehler! XML & JSON 2
S JDom XML ein Element hinzufügen. XML & JSON 1
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
J JDOM XMLOutputter getPrettyFormat() XML & JSON 3
H JDOM setAttribute Reihenfolge XML & JSON 3
B XML aus einer URL im Internet lesen (JDOM) XML & JSON 4
F Aus XML mit JDOM aus Elementattributen Werte rauslesen XML & JSON 4
R sax, stax, jdom, jaxb? List von Objekten speichern und laden XML & JSON 6
C xml validierung gegen xsd mit jdom: Fehlermeldung Cannot find the declaration of element ... XML & JSON 8
T Dom, Jdom, Sax XML & JSON 8
Helgon MalformedByteSequenceException und null JDOM Attribute XML & JSON 5
Helgon JDOM schreibt nicht XML & JSON 2
A XSl mit JDom auslesen XML & JSON 1
G xml, jdom "Entität wurde referenziert aber nicht deklariert." XML & JSON 4
A XSL und JDom XML & JSON 3
G jdom-Klassen in Eclipse importieren XML & JSON 2
S JDOM ohne XML Header erzeugen? XML & JSON 2
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
S JDOM nur Attribut Name XML & JSON 2
X JDom für SOAP Dateien geeignet? XML & JSON 3
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
M XML Parsen JDOM NullPointerEcxeption XML & JSON 7
S jdom hasChildren()? XML & JSON 1
T Frage zu getContent unter jdom XML & JSON 6
Z Tutorial für JDOM (XSD-Shema) XML & JSON 3
D jdom, xml, login-system XML & JSON 4
N JDOM: XML einlesen XML & JSON 4
O Parsen einer XML mit JDOM ohne Doctype Declaration XML & JSON 2
lordcarlos jdom zu iso-8859-15 zwingen XML & JSON 4
P jdom XML-Encoding auslesen XML & JSON 12
E JDOM - letzem child Attribut hinzufügen XML & JSON 4
H Schema-Validierung mit JDOM XML & JSON 2
lordcarlos JDOM und entfernen von children XML & JSON 4
E JDOM - Problem beim Zusammenfügen zweier Dateien XML & JSON 2
T jdom.jar als Relativer Pfad in Eclipse einbinden XML & JSON 4
sparrow JDom Element.getChild("Name") liefert null obwohl vorhanden XML & JSON 4
S XML, UTF-8, JDOM und Umlaute XML & JSON 3
E XML - JDOM - Bäume: was würdet ihr hier machen? XML & JSON 11
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
T JDOM Bibiliothek XML & JSON 3
K JDOM vs. DOM, Schnittstellen XML & JSON 5
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
0x7F800000 jdom mit xml.transform inkompatibel, was soll ich nehmen? XML & JSON 2
T EXSD auslesen mit XPath und JDOM XML & JSON 8
A JDOM und Sonderzeichen < > XML & JSON 17
G Simples XML File einlesen mit JDom. Prefix not bound ? XML & JSON 2
N jdom problem beim lesen von child elementen XML & JSON 5
N problem bei xml lesen mit jdom XML & JSON 2
S Ampersand im Jdom-Element XML & JSON 2
N jdom - xslt-Verweis in .xml einfügen XML & JSON 3
S Jdom+java webstart XML & JSON 4
K html -> cyberneko -> xml -> jdom . XML & JSON 3
I JDom Text ändern XML & JSON 4
C jdom.Element nicht vorhanden? XML & JSON 4
W JDOM element ändern funzt nich :( [problem gelöst] XML & JSON 3
C XPath in JDOM klappt nicht XML & JSON 2
S Harte Nuss mit XML und JDOM XML & JSON 2
H mit JDOM Verarbeitungsanweisungen und Kommentare auslesen XML & JSON 2
B jdom: getChildren() problem XML & JSON 4
T Bild in XML per JDOM XML & JSON 4
D JDOM erzeugt leere xmlns Attribute XML & JSON 4
T Elemente zählen mit JDOM in XML XML & JSON 7
B jdom document aus string erzeugen? XML & JSON 1
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
T XML mit JDOM auslesen => langsam? XML & JSON 7
B jdom outputter ohne attribute XML & JSON 2
C XML encoding UTF-8 und JDOM XML & JSON 4
P Probleme mit JDom . addContent(int index,Collection c) XML & JSON 2
R key aus xml lesen mittels jdom XML & JSON 5
M JDOM Element ohne Inhalt kopieren ? XML & JSON 3
X JDOM SAXBuilder Validationschema - Problem XML & JSON 8
G einzelne tags mit jdom auslesen XML & JSON 4
F XML ( ca. 280 MB) JDom & SAXBuilder lesen = OutOfMemoryE XML & JSON 4
K JDOM SAXBuilder einlesen XML & JSON 6
S Ausgabe "asXML" mit Jdom XML & JSON 2
B Element an bestimmter Stelle einfügen (JDOM) XML & JSON 8
G XML mit JDOM ausgeben [Klappe die 1Mio.ste] XML & JSON 2
F XML mit JDOM auslesen XML & JSON 2
D JDOM auf den PC machen XML & JSON 6
J JDOM Unicode XML & JSON 2
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
P JDOM Werte verändern XML & JSON 4
S OutOfMemory mit JDOM XML & JSON 6
S org.jdom.document in String umwandeln. XML & JSON 2
M ISO-8859-1 >> UTF-8 + JDOM + Verwirrung. XML & JSON 2
J [Newbie] [JDOM] Element aus XML entfernen klappt nicht XML & JSON 4
J JDOM mit XML-Schema XML & JSON 8
P HTML-Sting in JDOM XML & JSON 7
B JDOM && ObjectOutputStream XML & JSON 8
B Versionskonflikt bei JDOM XML & JSON 9
B JDom -- getChild() liefert nicht nachvollziehbar null XML & JSON 2
M JDOM parse Exception XML & JSON 3
G JDom encoding ändern XML & JSON 2
R JDOM Root-Element entfernen aber Rest behalten XML & JSON 10
M XML Elemente mit JDOM durch Text ersetzen XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben