Element addContent(Element) gibts nicht

Status
Nicht offen für weitere Antworten.

susa.

Mitglied
Hallo,

überall sehe ich folgenden Code:
Code:
rootElement.addContent(irgendeinElement);
Aber wenn ich in die JDOM-API gucke, dann finde ich diese Funktion nicht. ALso zumindest nicht mit addContent(Element). Eigentlich würde es mich ja nicht stören, funzt ja trotzdem überall. Der Compiler nölt nicht, Tomcat auch nicht, ABER der IBM Websphere 5.1. meckert rum.
Frage also: Kann man das irgendwie anders lösen? Hab schon in den APIs rumgesucht, aber hab nie mit Collections o.ä. gearbeitet und auch noch nie von den Klassen Content, Parent etc. gearbeitet. :bahnhof:

Hat da irgendjemand ne Idee?!

Vielen Dank schonmal 🙂
susa
 
Gibt doch bisher nur JDOM 1.0, oder bin ich da falsch informiert?! Und in der API gibts die Funktion ja gar nicht!
Die Fehlermeldung ist diese hier:
E SRVE0026E: [Servlet-Fehler]-[(class: XMLerstellen, method: XML signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String😉V) Incompatible argument to method]: java.lang.VerifyError: (class: XMLerstellen, method: XML signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String😉V) Incompatible argument to method
at Dasservlet.doGet(Dasservlet.java:89)
at Dasservlet.doPost(Dasservlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))

Die Funktion XML ist die, in der der der Aufruf
Code:
rootElement.addContent(Element);
stattfindet. Hier mal die Kurzfassung, falls es hilft:
Code:
public void XML(String eins, String zwei, String drei, String vier, String fünf)
        {
            Document doc;
            Element rootElement;
            Element [] myElements= new Elements[2];
            try 
            {
                file.createNewFile();
                System.out.println("saxbuilder ");
                SAXParserFactory factory = SAXParserFactory.newInstance();
                factory.setValidating(true); 
                SAXParser parser = factory.newSAXParser();

                SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", true ); 
                rootElement = new Element("ROOT");
                myElements[0]= new Element("Erstes");
                myElements[0].addContent(eins);
                rootElement.addContent(myElements[0]);
                myElements[1] = new Element("Zweites");
                myElements[1].addContent(zwei);
                rootElement.addContent(myElements[1]);

                doc = new Document();	
                doc.setRootElement(rootElement);
                PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file))); 
                org.jdom.output.Format format = org.jdom.output.Format.getPrettyFormat(); 
                new XMLOutputter(format).output(doc, out); 
                out.close();
            }
            catch (Exception e)
            {
                ...
            } 
        }

Wenn ich die Funktion ausklammer, funktionierts alles ohne Probs und auch wenn ich nur die Aufrufe der addContents(Element) auskommentiere gibts keine Fehler. Muss also daran liegen.
 
Element#addContent(Content child) ist, weil ein Element auch ein Content ist

komische Fehlermeldung: warum die Methode "XML" mit den 5 Strings und nicht der Aufruf weiter unten??

für die 5.1er gilt:
JDOM (a Java representation of an XML document which provides an API for efficient reading, manipulating and writing documentation). The currently packaged version of JDOM in WebSphere Application Server will not be packaged in future releases of WebSphere.

Recommended migration action:

Go to JDOM and get the latest copy of JDOM and bundle it inside your application.
 
Aso! Jetzt seh ich es auch mit dem Content... Danke *g*
Also ich hab jdom extra auch nochmal neu runtergeladen und nochmal ins Projekt importiert, aber das macht keinen Unterschied 🙁

Hab auch schon fast alles ausprobiert, was drumherum falsch sein könnte. Aber es will nicht 🙁

Habt ihr noch Ideen? ich bin am verzweifeln.
 
Das Problem ist gelöst!!! *freu* *jubel* :lol:

Für alle, die zukünftig das gleiche Problem haben:
In der Admin-Konsole auf Enterprise Anwendung, dann auf die Anwendung klicken und bei Module des Klassenladers auf Parent_Last stellen und den Wert dadrunter (Policy für WAR-Klassenlader) auf Anwendung. Dann hats bei mir gefunzt 🙂

Kommt zwar schon der nächste Fehler *g*, aber da werd ich schon was finden *zuversichtlichInDieZukunftBlick* *g*

Danke Bleiglanz! 😀
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben