このコードを使用してxml値を取得するためにテストしています
static final String URL = "http://api.androidhive.info/pizza/?format=xml";
// XML node keys
static final String KEY_ITEM = "item"; // parent node
static final String KEY_NAME = "name";
static final String KEY_COST = "cost";
static final String KEY_DESC = "description";
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL); // getting XML
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_ITEM);
// looping through all item nodes <item>
for (int i = 0; i < nl.getLength(); i++) {
String name = parser.getValue(e, KEY_NAME); // name child value
String cost = parser.getValue(e, KEY_COST); // cost child value
String description = parser.getValue(e, KEY_DESC); // description child value
}
xml の子要素は同じでした。唯一の違いは、asp.net 10.0.2.2:57843/menus/json/getallでこの構造 xml を持つxml を取得していることです。
**<ArrayOfitem>**
<item>
<cost>445</cost>
<description>sarap</description>
<id>1</id>
<name>pizza</name>
</item>
http://api.androidhive.info/pizza/?format=xmlと比較
**<menu>**
<item>
<id>1</id>
<name>Margherita</name>
<cost>155</cost>
<description>Single cheese topping</description>
</item>
そして、logcatエラーが発生しています
07-08 04:10:10.329: E/Error:(1968): Unexpected token (position:TEXT {"ExceptionType"...@1:922 in java.io.StringReader@b5182a40)
07-08 04:10:10.329: E/AndroidRuntime(1968): FATAL EXCEPTION: main
07-08 04:10:10.329: E/AndroidRuntime(1968): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.androidhive.xmlparsing/com.androidhive.xmlparsing.AndroidXMLParsingActivity}: java.lang.NullPointerException
07-08 04:10:10.329: E/AndroidRuntime(1968): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
ComponentInfo{com.androidhive.xmlparsing/com.androidhive.xmlparsing.AndroidXMLParsingActivity}: java.lang.NullPointerException Caused by: java.lang.NullPointerException at com.androidhive.xmlparsing.AndroidXMLParsingActivity.onCreate(AndroidXMLParsingActivity.java:43
line 43 NodeList nl = doc.getElementsByTagName(KEY_ITEM); and we got the same parent node of <item>
誰かが私に問題を説明したり修正したりする時間がありますか?,, ありがとう.