0

Androidアプリケーションからxmlファイルを読み取ろうとしていますが、xmlファイルがphpから即座に生成されています(ファイルは.phpです)

JavaからそのURLを要求すると、次のエラーが発生します:URIで予期されるファイルスキーム: "http://someserver.com/foo/bar/Myuri.php"

try {
          File file = new File(new URI("http://someserver.com/foo/bar/Myuri.php"));
          DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
          DocumentBuilder db = dbf.newDocumentBuilder();
          Document doc = db.parse(file);
          doc.getDocumentElement().normalize();
          System.out.println("Root element " + doc.getDocumentElement().getNodeName());
          NodeList nodeLst = doc.getElementsByTagName("employee");
          //System.out.println("Information of all employees");

          for (int s = 0; s < nodeLst.getLength(); s++) {

            Node fstNode = nodeLst.item(s);

            if (fstNode.getNodeType() == Node.ELEMENT_NODE) {

                   Element fstElmnt = (Element) fstNode;
              NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("name");
              Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
              NodeList fstNm = fstNmElmnt.getChildNodes();
              System.out.println("Name : "  + ((Node) fstNm.item(0)).getNodeValue());
              NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("lastname");
              Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
              NodeList lstNm = lstNmElmnt.getChildNodes();
              System.out.println("Last Name : " + ((Node) lstNm.item(0)).getNodeValue());
            }

          }
          } catch (Exception e) {
            alertDialog.setMessage(e.getMessage());
            alertDialog.show();
          }
4

1 に答える 1

1

編集: さて、いくつかのコードができました。重要な行を見てみましょう:

File file = new File(new URI("http://someserver.com/foo/bar/Myuri.php"));

Fileクラスはファイル用です。任意の URI ではありません。URIにfileスキームが必要です (例: file://.

File基本的に、ウェブから何かを取得するために使用することはできません。それはその目的ではありません。などの HTTP ライブラリを使用しますHttpClient

于 2012-12-06T17:27:40.830 に答える