Saya lebih suka StringReader karena menghindari String.getBytes (), tetapi ini biasanya juga berfungsi.
Michael Myers
3
Saat Anda memanggil getBytes (), penyandian apa yang Anda harapkan untuk digunakan? Bagaimana Anda memberi tahu parser XML yang penyandiannya didapat? Apakah Anda mengharapkannya menebak? Apa yang terjadi ketika Anda berada di platform di mana pengkodean default bukan UTF-8?
javax.xml.parsers.DocumentBuilder.parse(string)
anggapan string adalah uri (mengerikan ...)Jawaban:
Saya memiliki fungsi ini di basis kode saya, ini harus bekerja untuk Anda.
juga lihat pertanyaan serupa ini
sumber
import org.xml.sax.InputSource;
Salah satu caranya adalah dengan menggunakan versi parse yang mengambil InputSource daripada file
InputSource SAX dapat dibangun dari objek Reader. Satu objek Reader adalah StringReader
Jadi sesuatu seperti itu
sumber
javadocs menunjukkan bahwa metode parse kelebihan beban.
Buat StringStream atau InputSource menggunakan XML string Anda dan Anda harus mengatur.
sumber
Konversikan string ke InputStream dan berikan ke DocumentBuilder
EDIT
Sebagai tanggapan terhadap komentar bendin tentang penyandian, lihat jawaban shsteimer untuk pertanyaan ini.
sumber
Saya menggunakan metode ini
sumber
Anda dapat menggunakan paket Scilca XML Progession yang tersedia di GitHub.
sumber
masukan saja
sumber