JDOM und entfernen von children

Status
Nicht offen für weitere Antworten.

lordcarlos

Mitglied
Hallo

Ich habe eine XML datei die folgendermaßen aufgebaut ist:

[XML]
<root>
<data trigger="hund">
der hund heist Julian
</data>
<data trigger="katze">
Die katze hat bestimmt wieder gekifft!
</data>
<data trigger="hund">
er kann gut auto fahren
</data>
</root>
[/XML]
FRAGE 1:
Jetzt moechte ich z.B. den zweiten eintrag mit dem trigger "hund" entfernen"

Java:
  public void removeData(String str, int c)
      throws JDOMException, IOException {
    int a = 0;
    SAXBuilder b = new SAXBuilder();
    try{
      Document doc = b.build("src/test_1/data.xml");
      Iterator<Element> i = doc.getRootElement().getChildren().iterator();
      while (i.hasNext()) {
        Element e = i.next();
        String name = e.getAttributeValue("trigger");
        if (name.equals(str)) {
          if(a==c) {
            e.removeContent();
            e.removeAttribute(str);
            XMLOutputter outputter = new XMLOutputter();
            outputter.output(doc, System.out);
          }
          a++;
        }
      }
    } catch (IOException e) {
      System.out.println(e);
    }
  }

Ich rufe also removeData("hund", 2); auf.
Aber was muss in der inneren if schleife stehen damit der ganze <data> block geloescht wird?
e.removeContent();
e.removeAttribute(str);
Die beiden Sachen reichen nicht, dann steht da noch so etwas wie: <data trigger="hund"></data>

FRAGE 2:
Ich habe auch eine Funktion die einen neuen Eintrag hinzu fuegt:
Java:
  public void addData(String trigger, String str) throws JDOMException, IOException {
    SAXBuilder builder = new SAXBuilder();
    Document doc = builder.build("src/test_1/data.xml");
    Element root = doc.getRootElement();

    Element newItem = new Element("data");
    newItem.setAttribute("trigger", trigger);
    newItem.setText(str);

    root.addContent(newItem);
    
    XMLOutputter outputter = new XMLOutputter();
    outputter.output(doc, new FileOutputStream("src/test_1/data.xml"));

  }

Das sieht dann aber haeslich aus weil er keine Zeilen umbrueche macht:
[XML]
<root>
<data trigger="hund">
der hund heist Julian
</data>
<data trigger="katze">Die katze hat bestimmt wieder gekifft!</data><data>trigger="hund">er kann gut auto fahren</data></root>
[/XML]
Gibt es eine Funktion die, die Zeilenumbruehe hinzu fuegt?

Vielen dank!
lord-carlos
 

lordcarlos

Mitglied
Danke das mit format geht schonmal.

Aber das loeschen immer noch nicht.
Ich bin mir nicht sicher wo ich removeChild aufrufen soll.
Wenn ich e.removeContent(); und removeAttribute(str); durch removeChild("data") ersetze, wird das XML document nicht verändert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J [Newbie] [JDOM] Element aus XML entfernen klappt nicht XML & JSON 4
R JDOM Root-Element entfernen aber Rest behalten XML & JSON 10
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
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 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
M XML Elemente mit JDOM durch Text ersetzen XML & JSON 2
R Problem bei Erstellung von XML(JDOM) XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben