überlappendes XML ?

Status
Nicht offen für weitere Antworten.
P

phips.net

Gast
Hallo Gruppe,

ich habe folgendes Problem:
Mir liegt eine XML Struktur vor, die in etwa so aussieht:

<text>
<variant idVar="M 34"/>Testtext blabla
<variant idVar="D 63"/>Mehr Testtext blubbla
<variant idVar="" />
<line/>
</text>


Fragt mich bitte nicht, warum das XML die Struktur hat, die es hat;
ich muss so damit arbeiten. Ich frage mich, ob es eine "schlanke" Moeglichkeit gibt,
z.B. an den text von <variant> zu kommen. Ich habs mit JDOM probiert, aber
getText() auf <variant> liefert null zurueck.

Hat jemand eine Idee ? Bin fuer alle Tips und ratschlaege dankbar.


Vielen Dank;
.p
 
G

Guest

Gast
wellformed oder nicht - es ist valid und ich muss damit arbeiten :-(
stammt auch nicht aus meiner kueche, dann haette ich sicher
sowas gemacht:

<variant>bla</variant>
 

KSG9|sebastian

Top Contributor
<text>
<variant idVar="M 34"/>Testtext blabla
<variant idVar="D 63"/>Mehr Testtext blubbla
<variant idVar="" />
<line/>
</text>

Ich wüsste nicht wie du an den Text kommen solltest. Wenn du getText auf die variant-node machst bekommst du klar "null", da in ausgeschriebener form sowas steht:

<variant ..></variant>..

Du müsstest die Textstellen auslesen die "im leeren" stehen
 
G

Guest

Gast
gut, aber wie kann ich das machen, ohne den bezug zur entsprechenden variante zu verlieren ?
was ich brauche, ist eine mglk. mit zb. getVariantText(int idVar) an den entspr. Variantentext zu kommen...
Muss ich mir da selbst was basteln ? wenn ja, hat jemand einen schlauen ansatz oder kann ich das mit dom, sax, jdom etc. loesen ?

dank schonmal vorab;
.p
 

Bleiglanz

Gesperrter Benutzer
nimm halt dom oder sax, das sind ganz normale Textknoten (bzw. Character Events)

<text> hat eben gemischten Content, was ist daran so schlimm???

beachte dass alles unterhalb von <text> liegt, du kannst den Strings nicht so ohne weiteres den Elementen "variant" zuordnen

es sei denn du nimmst immer "das letzte Element" vor diesem Textknoten...
 
G

Guest

Gast
bedeutet dann:
wenn ich den bezug von variant zum dahinterstehenden text nicht verlieren will,
komme ich ums zu fuß parsen nicht rum, oder ?
 
Status
Nicht offen für weitere Antworten.

Oben