中国語の文字を含むXML形式のSoapMesaggeがあります。私はSOAPMessageのは、エラーの下に中国の文字や投げを解析することができない私のメッセージJava throwing org.xml.sax.SAXParseExceptionを使用して中国語チャンクを解析する。 lineNumber:1; columnNumber:1;コンテンツはプロローグで許可されていません
ByteArrayInputStream is = new ByteArrayInputStream(soapMessage.getBytes());
InputStreamReader isr = new InputStreamReader(is,"UTF-8);
InputSource source=new InputSource(isr);
SAXParser parser = new SAXParser();
parser.parse(source);
あるJAVAで以下のコードを書いた本を解析するために
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<new:NewOperation xmlns:new="http://www.example.org/NewWSDLFile/">
<in>4) 软件应安全、。</in>
</new:NewOperation>
</soapenv:Body>
</soapenv:Envelope>
は、この問題を解決するために私を助けてください。
Fatal Error] :1:1: Content is not allowed in prolog.
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
私もDom Parserで試してみました。
XMLにBOMがないことを確認してください:https://en.wikipedia.org/wiki/Byte_order_mark。 – Berger
こんにちは私は以下のコード 'String s = soapMessage.replaceFirst("^\ uFEFF "、" ");'を使ってみましたが、この種の文字列。 ' 4)\t ????? new:NewOperation> ' –
コンソールには' ???? 'がどこにありますか?たぶん、それらの文字を印刷することができません。値を新しいファイルに出力してその内容を調べるか、読み込まれた各文字のint値を出力して、それらが '? '文字でないことを確認してください。 – Berger