# überlappendes XML ?



## phips.net (18. Apr 2005)

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


----------



## KSG9|sebastian (18. Apr 2005)

das teil ist doch nichtmal ein wellformed xml, oder ?


----------



## Guest (18. Apr 2005)

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 (18. Apr 2005)

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



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


----------



## Guest (18. Apr 2005)

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 (18. Apr 2005)

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...


----------



## Guest (20. Apr 2005)

bedeutet dann:
wenn ich den bezug von variant zum dahinterstehenden text nicht verlieren will,
komme ich ums zu fuß parsen nicht rum, oder ?


----------



## Bleiglanz (20. Apr 2005)

nein, wie auch?

gemischter Content ist fürs automatische verarbeiten immer ziemlich übel...


----------

