これが私の要件です。
サーバーから 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;
}
}