简体   繁体   中英

How to check well formedness of xml file which has encoding type of UTF-16 using Java?

I have parsed an xml file which has encoding type UTF-8. It parses well.

I had nothing change any encoding type in the xml file.

The xml header for UTF-8 looks like:

<?xml version="1.0" encoding="UTF-8"?>

There is no error for above format!!!

Suppose i had another file to check well formedness which has header like:

<?xml version="1.0" encoding="UTF-16"?>

How to resolve this error?

Java xml parsers usually receive their input wrapped in an InputSource object. This can be constructed with a Reader parameter that does the character decoding for the given charset.

InputStream in = ...
InputSource is = new InputSource(new InputStreamReader(in, "utf-16"));

For the "utf-16" charset the stream should start with a byte order mark, if that is not the case use either "utf-16le" or "utf-16be".

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM