【发布时间】:2018-10-09 10:54:38
【问题描述】:
我有一个表 (REQUESTS),它包含 1 列 (XML_DATA) 用于 xmls。
所以如果ID=123在这个表中有一行,应该得到对应的xml。
如果检索到 xml,我需要获取带有标签 <Mobile>0918xxxx</Mobile> 的所有值。
这是我目前所拥有的:
for (int i = 0; i < RqeuestsDBViewData.length; i++) //GETS ROWS FROM TABLE REQUESTS
{
xmlDetails = test.getDetailsFromXML(mCustUtils, RequestDBViewData[i]); //GETS XML FROM XML_DATA
String strXmlDetails;
String strMob;
if (!AppUtils.isEmpty(xmlDetails)) //IF IT HAS ROW, THEN GET RECORD FROM <MOBILE></MOBILE> TAG
{
strXmlDetails = xmlDetails.toString(); //ENTIRE XML
strMob = StringUtils.substringBetween(strXmlDetails, "<Mobile>", "</Mobile>"); //GETS MOBILE VALUE
}
现在,如果有超过 1 个<Mobile></Mobile>,
我需要使用 for 循环将它存储在一个数组中。
如何将 strMob 的多个值存储在一个数组中?
在存储所有可能的 strMob 之后,我打算将这些值分配到其他地方,例如:personalInfo[j].setMobile(array/list[j]);
关于如何做到这一点的任何建议?
【问题讨论】:
-
由于您不知道您将拥有多少个元素,因此最好使用列表,而不是数组。如果需要,您可以稍后使用 toArray() 方法将该列表转换为数组。
-
嗨@YoavGur,你能告诉我怎么做吗?因为我也打算用这个数组/列表来做类似
personalInfo[j].setMobile(array/list[j]); -
这是非常基本的 java 东西。这里有 2 个链接,希望对您有所帮助:1. codejava.net/java-core/collections/…,2. tutorials.jenkov.com/java-collections/list.html