1
給空
我現在面臨的問題解析以下XML:解析XML名稱相同標籤的Android
<key>key 1</key>
<string>string 1</string>
<key>key 2</key>
<string>string 2</string>
<key>key 3</key>
<string>string 3</string>
我寫了下面的代碼,但我得到的只有在TextView的第一標籤的數據,而不是標籤string2和string 3的數據。如何使用相同的名稱標籤解析XML?
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Context mContext = this;
TextView tv = (TextView) findViewById(R.id.info);
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
AssetManager assetManager = mContext.getAssets();
InputStream inputStream = assetManager.open("abc.xml");
Document doc=db.parse(inputStream);
doc.getDocumentElement().normalize();
NodeList nodeList = doc.getElementsByTagName("string");
for (int i = 0; i < nodeList.getLength(); i++) {
tv.setText("\n\n"+ nodeList.item(i).getChildNodes().item(i).getNodeValue()+"\n");
}
} catch (Exception e) {
System.out.println("Pasing Excpetion = " + e);
}
}
還只處於第一個標籤獲取數據。 – user2011302
查看更新的答案。 –
如何避免包含一些字符串標籤?就像,如果我想在標籤鍵1,鍵2和鍵4之後包含字符串標籤,而不是在鍵3和鍵5之後包含字符串標籤。我將比較鍵標籤的值與字符串,如果條件滿足,則追加下一個節點的文本,否則如何忽略下一個節點的數據?請幫忙。 – user2011302