java使用正则表达式,简单提取xml中的内容

我们现在互联网的交互很少可以离开xml了。有时候需要的xml很小,除了内容以外,格式也都不变,那么再解析xml的时候就没必要使用那些解析xml的大家伙了。简单使用正则表达式来提交可以省去我们加载和学习那些东西的麻烦。

需要解析的xml数据如下。



SMS_MT


-4992367180402027902
0712211115010001
13428952720
bjyd
106601359401159
10202011
13570813196334064831
heheh59
1
123
15
1
1

......

-4992367180402027902
0712211115010001
13428952720
bjyd
106601359401159
10202011
13570813196334064831
heheh59
1
123
15
1
1






处理代码如下:

public void split(String data)
{
data=data.toLowerCase();
ArrayList smsMtList=new ArrayList();
Pattern pattern2=Pattern.compile("(.*?)");
Matcher matcher2=pattern2.matcher(data);
while(matcher2.find())
{
int i=1;
String data1=matcher2.group(i);

System.out.println(getParameter(data1,"mobile"));
System.out.println(getParameter(data1,"linkid"));
System.out.println(getParameter(data1,"mtmsg"));
System.out.println(getParameter(data1,"servicetype"));

i++;

}

}


public String getParameter(String data,String para)
{
String result="";
StringBuffer reStr=new StringBuffer();
reStr.append("<");
reStr.append(para);
reStr.append(">");
reStr.append("(.*?)");
reStr.append(" reStr.append(para);
reStr.append(">");
Pattern pattern=Pattern.compile(reStr.toString());
Matcher matcher=pattern.matcher(data);
if(matcher.find())
{
result=matcher.group(1);
}
return result;
}



将上面的xml文件,如果多行替换掉\r\n。然后使用split方法很容易取出..中的内容

你可能感兴趣的:(程序文章)