5

我正在通过 Android Pull Parser 技术解析 XML 文件。首先,看看下面的 XML 文件:

<childs>
    <students>
        <name> hello </name>
        <address> xyz </address>
    </stdents>      

    <students>
        <name> abc </name>
        <address> def </address>
    </stdents>      

</childs>

考虑一下我正在解析上面的文件。现在,我的问题是我想为名称和地址创建一个单独的数组。因此,在解析时,我想将第一个学生的数据存储在name[0]andaddress[0]中,下一个学生的数据存储在name[1]and中address[1]。简而言之,数组大小随着更多数据的解析而扩展。

有什么办法吗?我的意思是创建一个动态可扩展数组?或者,如果有其他方法可以这样做,请帮助我解决这个问题。

4

3 回答 3

5

您可以使用Vector<String>然后(如果您需要一个数组)使用toArray方法将数据复制到数组中。

    Vector<String> v = new Vector<String>();
    for (int i=0; i<10; i++)
        v.add(new String(Integer.toString(i)));

    Object s[] = v.toArray();

    for(int i=0; i<10; i++)
        str = s[i].toString();

另外一个选项:

    String a[] = {};
    v.toArray(a);
于 2010-08-11T09:30:11.757 回答
2

你像这样使用和 List 数组

List<String> name=new ArrayList<String>();
List<String> address=new ArrayList<String>(); 
name.add(StudyParser.getValue(eimg, "name"));  
address.add(StudyParser.getValue(eimg,"address")

其中 StudyParser.getValue(); 是您调用以获取数据的方法

于 2011-12-24T07:34:43.500 回答
0

创建无限大小数组的最简单方法是使用 String Builder。这允许您在运行时添加许多元素。它有 3 个主要组成部分。

  1. 声明和初始化。
  2. 增值/追加
  3. 打印/使用

在 Android Studio 的任何地方使用下面的代码。

//Basic Decleration
        StringBuilder myString = new StringBuilder();
        
//Adding data
       myString.append("Hello text <br>");
        myString.append("some more data <br>");
        myString.append("more data to store <br>");
        
//Displaying in already created text view
        deviceDetails.setText(Html.fromHtml(callLogs+""));
       

注意:我将其视为 HTML 字符串,“
”标签将在文本视图中创建下一行。因此,所有添加的数据都将显示在新行中。

于 2020-02-14T08:56:10.913 回答