0

Java コードで Web サービス呼び出しを行い、以下のデータを含む文字列として応答を取得しています。

<DocumentElement>
   <ResultSet>
     <Response>Successfully Sent.</Response>
     <UsedCredits>1</UsedCredits>
   </ResultSet>
</DocumentElement>

<Response>ここで、以下の応答文字列を解析し、さらに処理するためにタグのみの値を取得したいと考えています。以来、CDATA コンテンツのみを取得しています。文字列コンテンツを解析する方法を教えてください。

4

1 に答える 1

0

これには明らかに XML パーサーが必要です。上記がStringという名前の変数に格納されているとしましょうcontent

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    try {
          //Using factory get an instance of document builder
           DocumentBuilder db = dbf.newDocumentBuilder();
           InputSource is = new InputSource();
           is.setCharacterStream(new StringReader(content)); //content variable holding xml records         
           Document doc = db.parse(is)
           /* Now retrieve data from xml */
           NodeList nodes = doc.getElementsByTagName("ResultSet");
           Element elm = (Element) nodes.item(0);   //will get you <Response> Successfully Sent.</Response>
           String responseText = elm.getFirstChild().getNodeValue();

    }catch(ParserConfigurationException pce) {
        pce.printStackTrace();
    }catch(SAXException se) {
        se.printStackTrace();
    }catch(IOException ioe) {
        ioe.printStackTrace();
    }

より大きなデータ セットについては、上記のパーサー ルーチンに従います。複数の同様のデータ セットにはループを使用します。それが役立つことを願っています。

于 2012-08-04T06:32:19.480 に答える