Wolałbym StringReader, ponieważ unika String.getBytes (), ale zwykle powinno to również działać.
Michael Myers
3
Kiedy wywołasz getBytes (), jakiego kodowania oczekujesz? Jak mówisz parserowi XML, które kodowanie się pobiera? Czy spodziewasz się, że to zgadnie? Co dzieje się, gdy jesteś na platformie, na której domyślnym kodowaniem nie jest UTF-8?
javax.xml.parsers.DocumentBuilder.parse(string)
zakładam, że sznurek jest uri (straszne ...)Odpowiedzi:
Mam tę funkcję w mojej bazie kodu, to powinno działać dla ciebie.
zobacz także podobne pytanie
źródło
import org.xml.sax.InputSource;
Jednym ze sposobów jest użycie wersji parsowania, która pobiera InputSource zamiast pliku
Źródło wejściowe SAX można zbudować z obiektu Reader. Jednym z obiektów Reader jest StringReader
Coś w stylu
źródło
javadocs pokazują, że metoda analizy jest przeciążona.
Utwórz StringStream lub InputSource za pomocą łańcucha XML i powinieneś być ustawiony.
źródło
Konwertuj ciąg na InputStream i przekaż go do DocumentBuilder
EDYCJA
W odpowiedzi na komentarz Bendina dotyczący kodowania zobacz odpowiedź shsteimera na to pytanie.
źródło
Używam tej metody
źródło
Możesz użyć pakietu Scilca XML Progession dostępnego na GitHub.
źródło
po prostu wprowadź
źródło