HttpURLConnectionからのXMLファイルを解析するパーサーを作成しました。これは正常に動作します。リソースからxmlをロードして解析するときに問題が発生しました。
問題:オリジナルウェブパーサがどのように見えるかだけよアイデアを与えるために...私は、XMLファイルがローカルリソースからではなく、インターネットからロードされるように、これを書き換える必要がありますが、私はこの仕事を得るカント:
InputStream in=null;
URLConnection connection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection)connection;
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
in = httpConnection.getInputStream();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse(in);
Element docEle = dom.getDocumentElement();
NodeList nl = docEle.getChildNodes();
for (int i = 0; i < nl.getLength(); i++) {
Node node = nl.item(i);
//START PARSING......
今HERESに私は、リソースフォルダ内のXML/myfile.xmlに置かれたローカルリソースから解析しようとする使用していますコード:
InputStream in=null;
in = mParentActivity.getResources().openRawResource(R.xml.myfile);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(in); // THIS IS WHERE I GET AN SAXParseException
Element root = dom.getDocumentElement();
NodeList nl = root.getChildNodes();
for (int i = 0; i < nl.getLength(); i++) {
Node node = nl.item(i);
//START PARSING......
ローカルxmlファイルとWebファイルですまったく同じ...もし誰かがそれを見てみると:http://agens.no/Eniro/Android/SEWheel/Category2.plist.xml
そして、stacktrace: 02-01 16:08:45.546:WARN/System.err(19703):org.xml.sax.SAXParseException:名前が期待されています(位置:START_TAG @ 1:309 in java。 [email protected])
Preciateすべてヨールのヘルプ:)ファイルは、私はRES/XMLフォルダだった場合は...答えを見つけることが
これは、XMLが無効であることを示しています。リソースを文字列に読み込んでそれを印刷してみて、それが何を読んでいるのか見てみましたか? –
コードが正常に表示されます.2つのxmlファイルが同じであることを確認してください。あなたはそれらを比較しようとしましたか? <> –
はい、私はそれを文字列に読み込んでいます。それは見た目が美しく見えます。ここに見えるように見えます:http://agens.no/Eniro/Android/SEWheel/ Category2.plist.xml私はこれをloockに見えるタグはありません< >:Sあなたの助けをありがとう – Zelleriation