Avatar billede hakio Novice
04. maj 2005 - 18:18 Der er 5 kommentarer og
1 løsning

Parse en String ind som XML via xerces

Jeg bruger xerces til at håndtere XML. Jeg skal have parset en string så jeg får et DOM tree jeg kan arbejde med.
Min kode sådan her:

//Start to parse the XML String as a DOM Tree
DOMParser parser = new DOMParser();
   
//Get the DOM tree as a Document object
parser.parse(XMLString);
Document doc = parser.getDocument();

Men det ser ud til at parser.parse SKAL have en URL som argument - men nu da jeg har mit XML doc som sn string, hvordan gør jeg det så ?
Avatar billede hakio Novice
04. maj 2005 - 18:24 #1
Fejlen der kommer er "java.net.MalformedURLException: no protocol: <?xml version="..."
Avatar billede arne_v Ekspert
04. maj 2005 - 18:24 #2
Prøv:

        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(new StringBufferInputStream(xmlstreng));
Avatar billede arne_v Ekspert
04. maj 2005 - 18:29 #3
Hvis du vil bruge de Xerecs specifikke klasser:

DOMParser parser = new DOMParser();
parser.parse(new InputSource(new StringBufferInputStream(XMLString)));
Document doc = parser.getDocument();
Avatar billede hakio Novice
04. maj 2005 - 18:39 #4
ok - ser ud til at virke.
MEN (dog ikke at det generer mig):
"The constructor StringBufferInputStream(String) is deprecated"
svar tak.
Avatar billede arne_v Ekspert
04. maj 2005 - 18:52 #5
svar
Avatar billede arne_v Ekspert
04. maj 2005 - 18:54 #6
du kan erstatte

new StringBufferInputStream(XMLString)

med

new ByteArrayInputStream(XMLString.getBytes("ISO-8859-1"))

den er ikke deprecated
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester