java xpath 命名空间_java-关于使用Saxon使用默认名称空间对xml进行xpath解析
我想要一些有关使用saxon解析默认名称空间的xpath的信息.我正在使用Saxon-HE-9.5.1-3.jar在代码中使用xpath 2功能.在类路径中包含saxon库之后,我面临着解析具有默认名称空间的XML文档的xpath的问题.
我正在使用示例XML:
100
有效的XPATH:/ RESPONSE / HEADER / HITS
在某些情况下,它可以工作,而不能工作:
>“ XPATH Works”:未指定名称空间时
示例:< RESPONSE responseCode =“ 200”>
>“ XPATH Works”:给定带前缀的名称空间时
示例:< RESPONSE xmlns:res =“ http://www.abc.com/” responseCode =“ 200”>
>“ XPATH无效”:当给出没有前缀的默认名称空间时示例:< RESPONSE xmlns =“ http://www.abc.com/” responseCode =“ 200”>
您能帮我解决一下为什么Saxon不以不同的方式对待命名空间和默认命名空间吗?
另外,我该如何解决对具有默认名称空间的文档执行xpath的情况.
以下是我的代码块:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import net.sf.saxon.xpath.XPathEvaluator;
import net.sf.saxon.xpath.XPathFactoryImpl;
.
.
.
DocumentBuilder builder;
Document doc;
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
builder = domFactory.newDocumentBuilder();
doc = builder.parse(new ByteArrayInputStream(b, 0, size));
XPathFactory factory = XPathFactoryImpl.newInstance(XPathConstants.DOM_OBJECT_MODEL);
XPathEvaluator xpathCompiler = (XPathEvaluator) factory.newXPath();
XPathExpression expr = xpathCompiler.compile(xpath);
NodeList childNodes = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
谢谢&问候
普拉塔普
java xpath 命名空间_java-关于使用Saxon使用默认名称空间对xml进行xpath解析相关推荐
- java的命名空间_java命名空间的方法
java命名空间的方法 大家知道java命名空间吗?Java的类装载器是Java动态性的核心,本文将向大家简要介绍Java的类装载器,及相关的parent delegation模型,命名空间,运行时包 ...
- java 变量分配_Java中成员变量分配在哪个空间?
常量池的说明 常量池之前是放在方法区里面的,也就是在永久代里面的,从JDK7开始移到了堆里面.这一改变我们可以从oracle的release version的notes里的** Important R ...
- java内容寻址_java – 获取方法对象而不按名称寻址方法
有没有办法获取方法对象而不必使用方法的名称来获取它? 例如,我有班级: class Car { public String drive(); public String giveUp(); publi ...
- java脚本项目_java项目部署脚本 - xixingzhe的个人空间 - OSCHINA - 中文开源技术交流社区...
#!/bin/sh #java export JAVA_HOME=/root/java/jdk #日志目录 export LOG_HOME=`pwd`/ #项目名称 APP_NAME=xxx.jar ...
- java 图形 登录_java登录图形界面 - osc_994n5tsc的个人空间 - OSCHINA - 中文开源技术交流社区...
编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验.对于每个用户名有三次密码输入机会. package beizi; impor ...
- java wifi信息_Java中如何获取WiFi的名称和信息?
=Start= 缘由: 收集整理一下在Java中如何获取WiFi相关信息的方法,方便需要的时候使用. 正文: 参考解答: 简单来说就是:Java中没有原生的类来实现这个功能(不像获取IP或主机名时还有 ...
- java 递归死循环_Java递归 - 感觉太煽情的个人空间 - OSCHINA - 中文开源技术交流社区...
树节点类: package cn.com.tree; public class Node { private Integer id; private Integer parentId; private ...
- java通讯方式_Java线程通讯方式 - osc_63rgy8af的个人空间 - OSCHINA - 中文开源技术交流社区...
l 休眠唤醒方式: Object的wait.notify.notifyAll Condition的await.signal.signalAll l CountDownLatch:用于某个线程A等待 ...
- java xml 默认名称空间 xpath_创意产业园办公空间设计
你说想要的样子永远不是现在你的样子,桃花源或许永远在每个人的心底. 桃花源办公空间整体外观 入口 前厅及走廊空间 天花板细节 桃花源其实是我们每个人或者一群人的乌托邦,一座苏联式的厂房是心中桃花源的开 ...
最新文章
- App Tracking Transparency被拒解决
- 客户端爬取-答网友问
- 如何控制并发和控制死锁(内含pb的处理要点)
- 修改ftp服务器用户,通过批处理修改FTP账号和密码
- Machine Learning课程中的常见单词的含义
- 颜维伦暗示Sun将与英特尔合作研发芯片
- HDU 2209 翻纸牌游戏
- 初识SONiC,官方文档
- window7 右键菜单显示-》在此处打开命令窗口
- HTML5 validity api,html5 form-Validity验证函数
- PCL安装和环境配置
- Java线程Dump分析-工具TDA
- VideoJS 网页直播实现双击全屏
- RV1126RV1109 buildroot 增加USB双摄支持(一)
- section怎么制造图框_cad中如何制作带属性块的图框
- 最新彩虹易支付全解版疑似hack易支付整站源码打包
- FT232RL FTDIUSB转串口芯片SSOP28 国产替代
- Kaptcha工具和手动实现验证码功能
- java制作二维码笔记
- 计算机软件与应用是什么学士,软件工程什么学士