【发布时间】:2018-10-23 07:39:32
【问题描述】:
我有这样的输入:
<address>
<addressLine>280 Flinders Mall</addressLine>
<geoCodeGranularity>PROPERTY</geoCodeGranularity>
</address>
<address type="office">
<addressLine>IT Park</addressLine>
<geoCodeGranularity>office Space</geoCodeGranularity>
</address>
我想捕获地址标签之间的所有内容。
我试过了:
File file = new File("test.html");
String testHtml = FileUtils.readFileToString(file);
String title = StringUtils.substringBetween(testHtml, "<address>", "</address>");
这并不适用于所有情况,因为地址标签内部可能包含一些属性。请帮助如何获取此类字符串的文本。
【问题讨论】:
-
您应该在这里使用 XPath 解析器,而不是使用字符串或正则表达式库。
-
文件太大,由于性能问题,我无法使用 Parser。所以,我尝试使用像 StringUtils 这样的正则表达式或 Java 库。
-
您的预期输出是什么样的,它是什么?它是文件、字符串还是其他东西?
-
最终目标是获取地址标签之间所有字符的计数。所以我试图从 StringUtils 获取字符串输出,然后找到它的计数。如果我走错了路,请纠正我。我知道 Parser 是实现这一目标的最佳方法。但由于性能问题,我不允许使用解析器。
-
所以你想要一个 single 数字,用于 any
<address>标签之间的 all 个字符的计数?对吗?