java从长字符串中提取文本并存储在变量中
我正在为学校做一个安卓项目。我们在editText中得到转义xml,我可以从editText中读取文本,但我想从中获取值。例如,在editText中:
<ResponseSummary>
<ID>spq789pie</ID>
<No>305</No>
<ItemCount>1</ItemCount>
<Total>1.00</Total>
</ResponseSummary>
我计划做的是String response = edtResponse.getText().toString()
从editText中捕获txt。我想做的是这样的:
string test = (some expression that searches text and return a value text from a string)
if (test = "ID"){setID(ID);}
else if(No = "No"){setNo(No);}
else if(ItemCount = "ItemCount"){setItemCount(ItemCount);}
else if(Total = "Total"){setTotal(Total);}
基于上述xml,我希望最后的值如下所示:
ID = spq789pie
No = 305
ItemCount = 1
Total = 1.00
如果你能帮我,我会非常感激。我读过regex的作品,但我对regex不是很在行。如果有其他方法,我也会这么做
谢谢你的帮助
# 1 楼答案
你可以用这个:
\G
锚代表字符串的开始或最后一个匹配的结束。负前瞻(?!^)
用于排除第一种情况# 2 楼答案
如果希望将其作为字符串使用,而不是像savanto建议的那样使用XML,可以这样做(使用尽可能简单的正则表达式):
# 3 楼答案
由于您的数据已经是XML格式,我建议使用XML解析器,而不是使用正则表达式。Android有一个名为XmlPullParser的内置解析器,非常容易使用
下面是关于Android上XML解析的更深入的指南:Parsing XML Data | Android Developers