我想要一些有关使用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解析相关推荐

  1. java的命名空间_java命名空间的方法

    java命名空间的方法 大家知道java命名空间吗?Java的类装载器是Java动态性的核心,本文将向大家简要介绍Java的类装载器,及相关的parent delegation模型,命名空间,运行时包 ...

  2. java 变量分配_Java中成员变量分配在哪个空间?

    常量池的说明 常量池之前是放在方法区里面的,也就是在永久代里面的,从JDK7开始移到了堆里面.这一改变我们可以从oracle的release version的notes里的** Important R ...

  3. java内容寻址_java – 获取方法对象而不按名称寻址方法

    有没有办法获取方法对象而不必使用方法的名称来获取它? 例如,我有班级: class Car { public String drive(); public String giveUp(); publi ...

  4. java脚本项目_java项目部署脚本 - xixingzhe的个人空间 - OSCHINA - 中文开源技术交流社区...

    #!/bin/sh #java export JAVA_HOME=/root/java/jdk #日志目录 export LOG_HOME=`pwd`/ #项目名称 APP_NAME=xxx.jar ...

  5. java 图形 登录_java登录图形界面 - osc_994n5tsc的个人空间 - OSCHINA - 中文开源技术交流社区...

    编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验.对于每个用户名有三次密码输入机会. package beizi; impor ...

  6. java wifi信息_Java中如何获取WiFi的名称和信息?

    =Start= 缘由: 收集整理一下在Java中如何获取WiFi相关信息的方法,方便需要的时候使用. 正文: 参考解答: 简单来说就是:Java中没有原生的类来实现这个功能(不像获取IP或主机名时还有 ...

  7. java 递归死循环_Java递归 - 感觉太煽情的个人空间 - OSCHINA - 中文开源技术交流社区...

    树节点类: package cn.com.tree; public class Node { private Integer id; private Integer parentId; private ...

  8. java通讯方式_Java线程通讯方式 - osc_63rgy8af的个人空间 - OSCHINA - 中文开源技术交流社区...

    l  休眠唤醒方式: Object的wait.notify.notifyAll Condition的await.signal.signalAll l  CountDownLatch:用于某个线程A等待 ...

  9. java xml 默认名称空间 xpath_创意产业园办公空间设计

    你说想要的样子永远不是现在你的样子,桃花源或许永远在每个人的心底. 桃花源办公空间整体外观 入口 前厅及走廊空间 天花板细节 桃花源其实是我们每个人或者一群人的乌托邦,一座苏联式的厂房是心中桃花源的开 ...

最新文章

  1. App Tracking Transparency被拒解决
  2. 客户端爬取-答网友问
  3. 如何控制并发和控制死锁(内含pb的处理要点)
  4. 修改ftp服务器用户,通过批处理修改FTP账号和密码
  5. Machine Learning课程中的常见单词的含义
  6. 颜维伦暗示Sun将与英特尔合作研发芯片
  7. HDU 2209 翻纸牌游戏
  8. 初识SONiC,官方文档
  9. window7 右键菜单显示-》在此处打开命令窗口
  10. HTML5 validity api,html5 form-Validity验证函数
  11. PCL安装和环境配置
  12. Java线程Dump分析-工具TDA
  13. VideoJS 网页直播实现双击全屏
  14. RV1126RV1109 buildroot 增加USB双摄支持(一)
  15. section怎么制造图框_cad中如何制作带属性块的图框
  16. 最新彩虹易支付全解版疑似hack易支付整站源码打包
  17. FT232RL FTDIUSB转串口芯片SSOP28 国产替代
  18. Kaptcha工具和手动实现验证码功能
  19. java制作二维码笔记
  20. 计算机软件与应用是什么学士,软件工程什么学士

热门文章

  1. x与y是正整数且x+y+xy=54,x+y=?
  2. storybook组件属性详解:组件props到strorybook Args
  3. 同态加密库 HEAAN效率测试(1)
  4. 学习物联网开发除了主板外需要哪些材料和工具呢
  5. 2016-12-23
  6. 技术文章 | 企业网站为什么要考虑SEO优化?
  7. 毛里塔尼亚COC认证证书
  8. 现在培训IT技术出来还能就业吗?
  9. Python爱好者社区历史文章列表(每周append更新一次)
  10. 【MySQL 数据库】使用索引的正确方式一文学会