如何使用Java中的正则表达式提取填充的和空的xml标记?

时间:2015-08-06 11:49:39

标签: java regex xml soap

我目前正在使用SOAP服务,该服务以下列样式返回XML代码:

...
<PremiseId>12345</PremiseId>
<StreetNumber>12</StreetNumber>
<StreetName>Example Street</StreetName>
...

对SOAP服务的调用返回一个包含可能数百个前提的大型数据集。我想从中获取街道名称,目前我正在使用以下内容:

ArrayList<String> streetNames = new ArrayList<>();
Pattern p = Pattern.compile("<StreetName>([\s\w]+)</StreetName>", Pattern.MULTILINE);
Matcher m = p.matcher(matchString);

while(m.find())
{
    streetNames.add(m.group(1));
}

这在大多数情况下都有效,但是,数据库中的某些街道名称为NULL并且将返回如下值:

<StreetName/>

哪个被忽略了。这是一个问题,因为它在ArrayList中留下了应该有前提的空白。我需要这些空白的StreetName标签来将空字符串(“”)插入到ArrayList中。

我将如何做到这一点?

0 个答案:

没有答案