Java: XML Parsen

  • hallo,

    hab ein java programm, dass mir xml daten parst.
    verwende den xerces saxparser.

    nun kann ich ja beim aufruf vom parser das xml-file, das ich parsen will, übergeben.
    parser.parse(xmlfile);

    nun meine frage:
    gibt es auch irgendeine möglichkeit, dass ich dem ding nicht das file übergeb, sondern
    direkt einen string mit den xml daten? z.b.:
    parser.parse("<xmltest>hallo baum</xmltest>");

    bin für jeden tipp dankbar.

    lg andrea

  • temp datei anlegen und löschen, mach ich momentan gerade.
    ist aber nicht gerade eine saubere lösung.
    vorallem wenn bis zu 1000 anfragen (dateien) zugleich reinkommen können!
    gibt's da nichts andres?!

    Zitat von lj_scampo

    entweder du passt die parser-klasse an, oder du machst eine temp-datei, speicherst dein xml-string darin, uebergiebst die datei und dann loeschst du sie wieder

  • Hi,

    Also wenn wir vom gleichen Xerces Sax Parser sprechen, dann gibt's in der Parser Klasse folgende Methode:

    public void parse(InputSource source)
    throws SAXException,
    java.io.IOException

    InputSource hat wiederum folgenden Konstruktor:

    InputSource(java.io.InputStream byteStream)

    Na ja, jetzt musst du nur noch aus Deinem String einen ByteArrayInputStream machen:

    String myxml = "<xmltest>hallo baum</xmltest>";
    ByteArrayInputStream stream = new ByteArrayInputStream(myxml.getBytes());

    parser.parse(new InputSource(stream));

    So sollte das funktionieren.

    HTH.

    Eins Zwei Gras Bär Hund Vier Muh Macht Die Kuh

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!