【发布时间】:2014-02-11 07:42:54
【问题描述】:
我想从 html 文件生成 xPath。到目前为止,我已经成功地将 Html 源存储在字符串中并使用匹配器正则表达式生成基本 xpath,如下所示:-
String text = "<html><body><table><tr id=\"x\"><td>abc</td><td></td><td>xyz</td></tr></table></body></html>";
//I want xpath till label "xyz"
String unwanted= "xyz";
//so splitting and storing needed String
String[] neededString=text.split(unwanted);
String a="";
//pattern for extracting tags
String patternString1 = "<(.+?)>";
Pattern pattern = Pattern.compile(patternString1);
Matcher matcher = pattern.matcher(neededString[0]);
while(matcher.find()) {
a=a.concat(matcher.group(1)+"/");
System.out.println(a);
}
此代码适用于没有多个子节点的基本标记结构,例如 <tr> 中的多个 <td>。任何人都可以改进我上面的代码,包括为多个孩子生成 xpath 以及捕获 Ids、Class 等属性。
非常感谢任何帮助。 提前致谢。
【问题讨论】:
-
您究竟为什么认为使用正则表达式会对您有所帮助?使用适当的 HTML 解析器,使用正则表达式是不可能的。
标签: java regex string xpath matcher