首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPath能否用于解析静态HTML/JSP页面

XPath能否用于解析静态HTML/JSP页面
EN

Stack Overflow用户
提问于 2012-10-30 21:28:23
回答 1查看 745关注 0票数 1

我需要解析静态JSP/HTML页面,以便在批处理模式下识别标记和标签。

程序将运行并读取给定WAR或文件夹中的视图文件,并对其进行解析。因为它不在运行时,所以DOM将不可用。

所以我需要一些关于可以使用XPath来完成的指导

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-30 23:09:04

XPath被设计为仅用于XML文档。

因此,您必须寻找能够将JSP/HTML解析为XML文档的解析器。如果您使用的是JSPX而不是JSP,那么您只需要使用Java的内置JAXP就可以了。

代码语言:javascript
复制
InputStream input = getInputStreamOfJspOrHtml();
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(input);
// ...

然而,如果你使用的是遗留的JSP,可能充满了scriptlet,和/或不是格式良好的超文本标记语言(例如,使用<br>而不是<br/>),那么你最好的选择是使用一个宽松的超文本标记语言解析器,它可以容忍无效的语法,比如JTidy

代码语言:javascript
复制
InputStream input = getInputStreamOfJspOrHtml();
Document document = new Tidy().parseDOM(input, null);
// ...

无论哪种方式,一旦你有了org.w3c.dom.Document,你就可以像往常一样在上面运行XPath了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13140059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档