0

私がやりたいのは、XMLファイルから1行を読み取ることだけです。null以外は何も得られないようです。大量のコードを作成せずに、ドキュメントからセッションIDを読み取りたいだけです。動作する超簡単な方法が必要です。

<loginResponse>
   <status message="Success" code="Success"/>
   <sessionid>d713868c-608b-440f-a708-5b7055e2e8d2</sessionid>
</loginResponse>


            HttpResponse response = httpclient.execute(httppost);
            HttpEntity r_entity = response.getEntity();
            String xmlString = EntityUtils.toString(r_entity);
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = factory.newDocumentBuilder();
            InputSource inStream = new InputSource();
            inStream.setCharacterStream(new StringReader(xmlString));
            Document doc = db.parse(inStream);


            doc.getDocumentElement().normalize();
            NodeList nodeLst = doc.getElementsByTagName("sessionid");
            Node node = nodeLst.item(0);
            String sessionID = node.getTextContent();

            mDbHelper.createAccount(userName, password, sessionID);
4

1 に答える 1

1

これを行う最も簡単な方法は、Scannerクラスを使用することです。

Scanner scan = new Scanner(stream);
while (scan.hasNextLine()) {
    String line = scan.nextLine();
    if(line.startsWith("\t<sessionid>"))
    {
        System.out.println(line.substring("\t<sessionid>".length()));
    }
 }
于 2013-03-19T23:43:13.830 に答える