Konvertierung einer Zeichenfolge in ein w3c.dom.Element: XMLParseException:Start root-element erwartet
Fand ich das folgende Stück code aus einem blog, wenn es läuft bekomme ich auch eine exception
XMLParseException:Start root-element erwartet. am 9. Zeile.
Kann irgend jemand erklären, warum ich die Ausnahme und weisen auf keine andere Weise für die Konvertierung von String auf ein element?
String s = "Hello DOM Parser";
java.io.InputStream sbis = new java.io.StringBufferInputStream(s);
javax.xml.parsers.DocumentBuilderFactory b = javax.xml.parsers.DocumentBuilderFactory.newInstance();
b.setNamespaceAware(false);
org.w3c.dom.Document doc = null;
javax.xml.parsers.DocumentBuilder db = null;
db = b.newDocumentBuilder();
doc = db.parse(sbis);
org.w3c.dom.Element e = doc.getDocumentElement();
"Hello DOM Parser"
ist nicht XML.- es gibt eine chance, dass der ursprüngliche text enthaltenen element-tags sondern auch, dass diese tags eliminiert wurden, durch einen Prozess der kopieren/einfügen von text zwischen web-Anwendungen... aber egal, die original-Beitrag, wie ich sehen kann, nicht enthalten-tag-Elemente in der
String s
Erklärung. - Ich nehme an, Sie bezog meine blog-Beitrag basiert auf dem code-snippet und die exception geworfen, da die saite ist nicht wirklich eine Repräsentation eines xml-Elements. Nachdem ich dieses gesehen, ich aktualisierte my blog post zu vermeiden, keine Komplikationen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen eines DOM -
Element
mit einem benutzerdefinierten tag (was ich davon ausgehen ist, was Sie wollen, aber können nicht sicher sein), können Sie verwenden Sie den folgenden Ansatz:Ich bin vorausgesetzt, Sie wissen, die namespace-URI und Ihr Präfix (falls vorhanden). Wenn Sie keine namespaces verwenden, benutzen Sie einfach die
createElement()
Methode statt.Wie gesagt, in den Kommentar "Hallo DOM-Parser" ist nicht ein XML-element. Und so wird der parser nicht weiß, was mit ihm zu tun. Ich weiß nicht, welche Art Dokument Sie erstellen, aber wenn Sie wollen HTML Sie können beim einbetten von text in einem html-tag zum Beispiel;
wenn Sie XML, die Sie einbetten können den text in jeder beliebigen html-tag;
Einige Erklärung auf DOM;
http://www.w3.org/DOM
Ihre Frage zu beantworten, zu konvertieren einen String in ein w3c-Element können Sie verwenden createElement;
Diese Ergebnisse in;
Die parse-Methode der DocumentBuilder akzeptieren Sie die input-stream enthält, die den xml-Inhalt. Die folgende änderung wird für Sie arbeiten:
Versuchen zu vermeiden, mit der deprecated Klassen wie StringBufferInputStream. Sie können finden Sie im Dokument unten, um mehr wissen über die Java-XML-parsing.
http://www.java-samples.com/showtutorial.php?tutorialid=152