Guten Tag,
ich sitze schon eine längere Weile an einem Problem und hoffe durch euch Hilfe zu bekommen.
Also folgendes Problem liegt vor:
Ich habe ein XML Dokument, dem eine unbestimmte Anzahl an Knoten hinzugefügt werden soll.
Bevor ich die Knoten jedoch hinzufüge muß, muß ich noch die richtige Position ermitteln.
Ich versuche nun das nötigste zum Verständnis meines (Verständis-)Problems darzustellen
zur Visualisierung:
ursprüngliche XML-Datei:
überarbeitete bzw.erwartete XML-Datei:
Ich finde heraus das "Eintrag b" zwischen Eintrag a und Eintrag c gehört, also an die 2 <article> Stelle
Also rufe ich die Methode
auf. Wie erwartet erhalte ich auch das erwünschte Ergebnis und ich komme auf die Idee noch den Eintrag bb hinter Eintrag b einzufügen.
Also rufe ich erneut die Methode
auf und es klappt erneut.
So zu letzt versuche ich den Eintrag d an die 5 Stelle hinzufügen:
Nun stellt sich mit die Frage warum ich
aufrufen muß um mein erwünschtes Ergebnis zu erhalten.
Ich hoffe ich habe mein Prob nicht all zu umständlich erklärt.
Ich bin ich dabei einen Automatismus einzubauen der über eine Iteration dynamisch die richtige Stelle im Xml Dokument erkennt und den Eintrag an die richtige Stelle schreibt, wobei mir noch der richtige Algorithmus fehlt.
in etwa so :
Viele Grüße
und Danke im Voraus für eure Bereitschaft zu Helfen
Polo85
ich sitze schon eine längere Weile an einem Problem und hoffe durch euch Hilfe zu bekommen.
Also folgendes Problem liegt vor:
Ich habe ein XML Dokument, dem eine unbestimmte Anzahl an Knoten hinzugefügt werden soll.
Bevor ich die Knoten jedoch hinzufüge muß, muß ich noch die richtige Position ermitteln.
Ich versuche nun das nötigste zum Verständnis meines (Verständis-)Problems darzustellen
zur Visualisierung:
ursprüngliche XML-Datei:
Code:
<article>
<section>Eintrag a</section>
<section>Eintrag c</section>
</article>
überarbeitete bzw.erwartete XML-Datei:
Code:
<article>
<section>Eintrag a</section>
<section>Eintrag b</section>
<section>Eintrag bb</section>
<section>Eintrag c</section>
<section>Eintrag d</section>
</article>
Ich finde heraus das "Eintrag b" zwischen Eintrag a und Eintrag c gehört, also an die 2 <article> Stelle
Also rufe ich die Methode
Code:
doc.getRootElement().addContent(2,el);
Code:
<article>
<section>Eintrag a</section>
<section>Eintrag b</section>
<section>Eintrag c</section>
</article>
auf. Wie erwartet erhalte ich auch das erwünschte Ergebnis und ich komme auf die Idee noch den Eintrag bb hinter Eintrag b einzufügen.
Also rufe ich erneut die Methode
Code:
doc.getRootElement().addContent(3,el);
Code:
<article>
<section>Eintrag a</section>
<section>Eintrag b</section>
<section>Eintrag bb</section>
<section>Eintrag c</section>
</article>
auf und es klappt erneut.
So zu letzt versuche ich den Eintrag d an die 5 Stelle hinzufügen:
Code:
doc.getRootElement().addContent(5,el);
Code:
<article>
<section>Eintrag a</section>
<section>Eintrag b</section>
<section>Eintrag bb</section>
<section>Eintrag d</section>
<section>Eintrag c</section>
</article>
Nun stellt sich mit die Frage warum ich
Code:
doc.getRootElement().addContent(6,el)
aufrufen muß um mein erwünschtes Ergebnis zu erhalten.
Ich hoffe ich habe mein Prob nicht all zu umständlich erklärt.
Ich bin ich dabei einen Automatismus einzubauen der über eine Iteration dynamisch die richtige Stelle im Xml Dokument erkennt und den Eintrag an die richtige Stelle schreibt, wobei mir noch der richtige Algorithmus fehlt.
in etwa so :
Code:
for (int i = 0; i < anzahlEinträge; i++)
{
if(neuerEintragGehoertAnDieseStelle)
{
intOrt = i + (?) ));
break;
}
}
doc.getRootElement().addContent(intOrt,el);
Viele Grüße
und Danke im Voraus für eure Bereitschaft zu Helfen
Polo85