java - Android - 循环遍历 strings.xml 文件

标签 java android xml loops

我想知道是否有循环遍历 strings.xml 的方法文件。

假设我有以下格式:

<!-- FIRST SECTION -->
<string name="change_password">Change Password</string>
<string name="change_server">Change URL</string>
<string name="default_password">password</string>
<string name="default_server">http://xxx:8080</string>
<string name="default_username">testPhoneAccount</string>

<!-- SECOND SECTION -->
<string name="debug_settings_category">Debug Settings</string>
<string name="reload_data_every_startup_pref">reload_data_every_startup</string>
<string name="reload_data_on_first_startup_pref">reload_data_on_first_startup</string>

现在假设我有这个:

private HashMap<String,Integer> hashmapStringValues = new HashMap<String, Integer>();

有没有办法只在我的 xml 文件的第二部分进行迭代?也许用 <section2> 之类的标签包裹该部分然后遍历它?

public void initHashMap(){
    for (int i=0;i< ???? ;i++) //Here I need to loop only in the second section of my xml file
    {          
        String nameOfTag = ? // Here I get the name of the tag
        int value = R.string.nameOfTag // Here I get the associated value of the tag

        this.hashmapStringValues.put(nameOfTag,value);
    }
}

最佳答案

不可以,但是您可以在 resources/values 中创建另一个包含以下内容的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="array">
        <item>ID_1|Asdf</item>
        <item>ID_2|I do not like to think</item>
        <item>ID_3|Whatever</item>
    </string-array>

</resources>

您可以根据自己的喜好格式化字符串,然后使用自定义解析器解析它们。

要获取字符串数组你只需要这样做:

getResources().getStringArray(R.array.array);

关于java - Android - 循环遍历 strings.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12193036/

相关文章:

javascript - 获取 xml 节点的第一个子节点

java - 在 Linux 下提取 Lotus Notes NSF 文件

java - GridBagLayout 粘附组件

java - 在jar的lib文件夹中找不到加载类

java - 如何在 Java 中将单个文件夹及其内容复制到另一个文件夹

android - 设置权限更改的广播接收器

Android 自动完成 onclicklistener

android - 文件 0000000000000001.db 是什么?

android - 更改图层列表项中的矢量可绘制颜色

c++ - QT 如何获取 XML 文件的最后一个节点?