-4

これが私の要件です。

サーバーから SOAP オブジェクトとして応答を取得しています。それを文字列形式に変換しました。今度は xml データを抽出したいと思います。

ネストされたタグを抽出するにはどうすればよいですか?

すべてのデータを抽出できますか?それとも、その XML 応答を解析する必要がありますか? XML のネストされたタグを抽出し、それを ArrayList<> に解析する方法はありますか? post はクラスですか?

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <maintag>
    <item>
      <name>AndroidPeople</name> 
      <website category="android">www.androidpeople.com</website> 
    </item>
    <item>
      <name>iPhoneAppDeveloper</name> 
      <website category="iPhone">www.iphone-app-developer.com</website> 
      </item>
    </maintag>
..

可能であればどのように?

前もって感謝します。

私はこれがそれを使用することが可能であり、どのように使用できるかを見ました

private static Show getShowFromRSS(Context context, Document feed,
        String feedUrl) {
    try {
        // There should be one channel in the feed, get it.
        // Also, the cast should be okay if the XML is formatted correctly
        NodeList item = feed.getElementsByTagName("channel");
        Element el = (Element)item.item(0);

        String title;
        NodeList titleNode = el.getElementsByTagName("title");
        if (titleNode == null || titleNode.getLength() < 1)
            title = context.getString(R.string.default_title);
        else
            title = titleNode.item(0).getFirstChild().getNodeValue();

        String author;
        NodeList authorNode = el.getElementsByTagName("author");
        if (authorNode == null || authorNode.getLength() < 1)
            author = context.getString(R.string.default_author);
        else
            author = authorNode.item(0).getFirstChild().getNodeValue();

        String desc;
        NodeList descNode = el.getElementsByTagName("comments");
        if (descNode == null || descNode.getLength() < 1)
            desc = context.getString(R.string.default_comments);
        else
            desc = descNode.item(0).getFirstChild().getNodeValue();

        String imageUrl;
        NodeList imagNode = el.getElementsByTagName("image");
        if(imagNode != null) {
            Element ima = (Element)imagNode.item(0);
            if (ima != null) {
                NodeList urlNode = ima.getElementsByTagName("url");
                if(urlNode == null || urlNode.getLength() < 1)
                    imageUrl = null;
                else
                    imageUrl =
                        urlNode.item(0).getFirstChild().getNodeValue();
            } else
                imageUrl = null;
        } else
            imageUrl = null;

        return new Show(title, author, feedUrl, desc, imageUrl, -1, -1);
    } catch (Exception e) {
        // Any parse errors and we'll log and fail
        Log.e("NCRSS", "Error parsing RSS", e);
        return null;
    }
}
4

2 に答える 2