2013-02-16 46 views
1

我正在嘗試從位於該結構的原始資源的XML文件信息的XML內容填充表是這樣的:與Android的

<?xml version="1.0" encoding="utf-8" ?> 
<languages> 
    <language code="ab">Abkhazian</language> 
    <language code="aa">Afar</language> 
    <language code="af">Afrikaans</language> 
    <language code="sq">Albanian</language> 
... 

我有什麼做的是填補了一個列表語言的價值,如'阿布哈茲','阿法爾',...我嘗試使用XMLPullParser,但我不知道如何檢索語言的名稱,因爲它不是一個字段。 任何幫助將不勝感激。

回答

1

那麼你會如何使用正常的string-array

<string-array name="languages"> 
    <item>Abkhazian</item> 
    <item>Afar</item> 
    <item>Afrikaans</item> 
</string-array> 

然後調用String[] langs = getResources().getStringArray(R.id.languages);

或者嘗試使用經典W3C DOM解析器

DocumentBuilderFactory f = DocumentBuilderFactory.newInstance(); 
Document doc; 
doc = f.newDocumentBuilder().parse(<xml>); 
NodeList langs = doc.getElementsByTagName("languages"); 
ArrayList<String> data = new ArrayList<String>(); 
String lang = null; 
for (int i = 0; i < langs.getLength(); i++) { 
Node n = langs.item(i); 
if (n.getFirstChild().getNodeType() == Node.TEXT_NODE) { 
    lang = n.getFirstChild().getNodeValue(); 
    data.add(lang); 
} 
+0

工作!我不得不在代碼中改變「語言」的「語言」,但所有的工作都是例外的。謝謝! – lluisu 2013-02-16 17:16:17

+0

歡迎您:) – Sajmon 2013-02-16 18:36:46