Problem beim ändern einer XML-Datei

Alles rund um die Programmierung mit Qt
Antworten
bierber
Beiträge: 72
Registriert: 27. November 2006 14:12

Problem beim ändern einer XML-Datei

Beitrag von bierber »

Hallo miteinader,

ich soll eine XML-Datei ändern die folgende Struktur aufweißt

Code: Alles auswählen

.
.
.
<context>
    <name>SlFeInputCtx</name>
    <message>
        <source>SymPage</source>
        <comment>beliebiger Kommentar</comment>
        <translation>Seite</translation>
    </message>
    <message>
        <source>SymSk1</source>
        <comment>beliebiger Kommentar</comment>
        <translation>Mask 200</translation>
    </message>
</context>
<context>
    <name>SlFeMoveCtx</name>
    <message>
        <source>SymMM</source>
        <comment>beliebiger Kommentar</comment>
        <translation>mm</translation>
    </message>
    <message>
        <source>SymSk1</source>
        <comment>beliebiger Kommentar</comment>
        <translation>Trafo</translation>
    </message>
</context>
.
.
.
(Es handelt sich hierbei um die *.ts Dateien)

So wenn ich jetzt alles richtig verstanden habe kann ich XML nur mit der DOM-Api ändern.

Die Änderung gründet auf 2 Faktoren zum einen muß der Eintrag unter Name und zum anderen muß der Eintrag unter source übereinstimmen.

Da beide gleichrangig sind(also keiner das Child oder der Parent von dem anderen) hab ich im Moment einfach keinen Plan wie ich die Abhängigkeiten in die DOM Struktur bekomme.

Da die Dom-Struktur ja immer alle zählt die es gibt, oder?

Die erste Frage die ich mir zum lösen gestellt habe ist, ist es möglich nur alle Elemente auszulesen die innerhalb des Tags "Context" stehen ?

Egal wie ich bin für jede Hilfe / Lösung sehr Dankbar.

Grüße Felix
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

1. Du kannst XML-Dateien auch mit der SAX-Api ändern...
2. Wer sagt, daß beides übereinstimmen muß?
3. Ja es ist möglich nur die Elemente die im Tag Context stehen auszulesen
4. Ich hab keine Ahnung was du überhaupt willst
5. Ließ mal dir mal die Dokumentation zum QDom durch, wenn du das gemacht hast, lies sie nocheinmal durch. Wenn du das gemacht hast schreibst du dir ein Testprogramm und probierst mal verschiedene Szenarien durch, dabei kannst dann nocheinmal die Dokumentation durchlesen.
6. Wir machen es nicht anders...
bierber
Beiträge: 72
Registriert: 27. November 2006 14:12

Beitrag von bierber »

Das ist Hilfe wie man sie braucht...

zu 1.

Mein QT4 Buch sagt das dies völlig unmöglich ist.
...bedeute, dass SAX im Gegensatz zu DOM ein konzeptionell rein lesende API ist.
Amazon

zu 2. Irgendeine Vorraussetzung muß ich ja wolh nehmen, damit ich einen bestimmten Node lesen kann.

zu 3. Danke für die Aussage

zu 4.
ich soll eine XML-Datei ändern die folgende Struktur aufweißt
zu 5. Danke für die Hilfreiche Ausführung

zu 6. Wenn selbst die Profis noch mehrfach die Doku lesen müssen, wie sollen es dann Laien und Anfänger verstehen. Wenn dich die Frage anöded, es zwingt dich keiner zu Antworten. Die Doku ist zwar gut aber auch nur dann wenn man einmal etwas mit dem entsprechenden Modul gemacht hat und dem Englischen einigermassen mächtig ist. Sonst sind die Zweizeillen erklärung doch etwas dürftig.

Natürlich verstehe ich auch das ihr von ständigen doofen Fragen genervt seit, aber wenn auf jede Frage nur die Antwort, steht in der Doku kommt macht diese Forum irgendwie keinen rechten Sinn mehr.

Wenn du es zumindest wie Christoph81 machen würdest und den Fragenden mit einem Link auf den Punkt wo er lesen soll stoßen würdest ok, aber nur blöde Kommentare helfen niemanden.
Antworten