我相信它在某个时候可以工作,但是现在xpath返回null。有人可以帮助我在以下代码中找到我的愚蠢错误吗?
还是即使在setNamespaceAware(false)之后也必须提供NamespaceContext?
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(false);
domFactory.setIgnoringComments(true);
domFactory.setIgnoringElementContentWhitespace(true);
try {
Document doc = domFactory.newDocumentBuilder().parse(new File("E:/Temp/test.xml"));
XPath xp = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList) xp.evaluate("//class", doc, XPathConstants.NODESET);
System.out.println(nl.getLength());
}catch (Exception e){
e.printStackTrace();
}
XML文档在这里:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.example.com/schema">
<class />
<class />
</root>
三个选择是显而易见的。按照我的观点,最简单的顺序是:
"//class"
为"//*[local-name() = 'class']"
。有点笨拙,但它将忽略名称空间。如果仍然为您提供零,则说明问题不在于名称空间。"//foo:class"
让我预先感谢你的帮助! 我在一个spring boot应用程序中有一个奇怪的行为。我来给你解释一下: 我正在用一些不错的rest-json服务包装一些遗留的Web服务(自定义xml消息)(通过spring-mvc和Spring boots并使用jackson序列化东西) 为了与遗留系统通信,我创建了一个自定义XmlMapper、序列化器和反序列化器。 最后,我创建了一个httpclientconf
所以我得到了一个xml文件从肥皂服务(我无法控制)。它返回了一个xmlns,这导致了简单的XML问题。我正在运行一个str_replace来解决这个问题,但是现在simpleXML只返回一个空对象。XML结构看起来很好,没有错误,只是一个空对象。 返回:SimpleXMLElement对象() str replace之前的XML源是: 更换后: 任何帮助都将不胜感激,这快把我逼疯了! ----因此
我正在使用spring boot和jersey(我使用过spring-boot-starter-jersey)开发网关api。我应该同时返回xml和json响应,它似乎可以使用json响应,但当对xml发出请求时,我得到404。这是服务的代码 谢谢你帮了我很多忙。 向sajid致意
在上周之前,我使用Python的经验非常局限于我们网络上的大型数据库文件,突然间,我开始尝试从html表中提取信息。 经过大量阅读,我选择在Python2.7中使用lxml和xpath来检索相关数据。我使用以下代码检索了一个字段: 产生了以下清单: 我认识到CR/LF和制表符转义字符,我想知道如何避免它们?
有人能举一个例子,说明在VTD XML解析器中使用联合运算符(|)吗?以下内容不适用于VTD XML解析器,但适用于jxpath解析器/a |/b
问题内容: 我知道我不是第一个遇到这个问题的人,但是我似乎找不到有效的解决方案 使用网络服务集返回json时,.net仍将其包装在XML包装器中。 我搜索并尝试了很多东西 正如某些帖子中所建议的,我尝试将各种httphandler设置添加到我的web.config中,但是这些没有效果。我也不认为这是必要的,因为我正在使用全新的win7 / iis7.5 / .net4机器。我读到,由于.net 3