java – XPath:有没有办法为查询设置默认的命名空间?
发布时间:2020-05-24 16:36:29 所属栏目:Java 来源:互联网
导读:有没有办法设置 Java XPath为默认名称空间前缀?例如,而不是:/ html:html / html:head / html:title / text()“,查询可以是:/ html / head / title / text 在使用命名空间前缀时,必须有一个更优雅的方式. 我现在正在做的示例代码片段 Node node = ... //
|
有没有办法设置 Java XPath为默认名称空间前缀?例如,而不是:/ html:html / html:head / html:title / text()“,查询可以是:/ html / head / title / text 在使用命名空间前缀时,必须有一个更优雅的方式. 我现在正在做的示例代码片段 Node node = ... // DOM of a HTML document XPath xpath = XPathFactory.newInstance().newXPath(); // set to a NamespaceContext that simply returns the prefix "html" // and namespace URI ""http://www.w3.org/1999/xhtml" xpath.setNamespaceContext(new HTMLNameSpace()); String expression = "/html:html/html:head/html:title/text()"; String value = xpath.evaluate(query,expression); 解决方法很不幸的是,不行.几年前有一些关于为 JxPath定义默认命名空间的讨论,但是快速浏览最新的文档并不表示发生了什么.不过,您可能想花更多的时间浏览文档.你可以做的一件事,如果你真的不在乎命名空间,就是解析没有它们的文档.只要省略您目前正在进行的电话DocumentBuilderFactory.setNamespaceAware(). 另外请注意,您的前缀可以是任何您想要的;它不必与实例文档中的前缀匹配.所以你可以使用h而不是html,并尽量减少前缀的视觉混乱. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 基于Java中的共享密钥保护数据的创新/安全方法
- java自定义日志输出文件(log4j日志文件输出多个自定义日志文
- java – 在抽象类中提供DI方法
- java – 通过Maven使用Junit Categories运行Cucumber测试
- java-用户按新行输入时必须退出while循环.但它不起作用,并且
- JavaWeb实现同一帐号同一时间只能一个地点登陆(类似QQ登录
- 超简洁代码实现CircleImageView
- java – 在文件夹中创建一个文本文件
- java – args4j:在“用法”中如何手动排序选项?
- java – 使用TexturePaint的图标抛出InternalError:Surfac
