`

利用xpath获取节点值实例

    博客分类:
  • xml
阅读更多

这几天做xml打包、解包的通用工具,学习了下xpath的使用方法,它可以很方便查询某一节点的值,有点类似于jquery的选择器,具体事例如下:

public String queryNodeValue(final Document doc, String expression)
			throws XPathExpressionException {
		XPathFactory factory = XPathFactory.newInstance();
		XPath xpath = factory.newXPath();

		xpath.setNamespaceContext(new NamespaceContext() {

			@SuppressWarnings("rawtypes")
			@Override
			public Iterator getPrefixes(String namespaceURI) {
				throw new UnsupportedOperationException();
			}

			@Override
			public String getPrefix(String namespaceURI) {
				throw new UnsupportedOperationException();
			}

			@Override
			public String getNamespaceURI(String prefix) {
				return doc.lookupNamespaceURI(prefix);
			}
		});
		XPathExpression expr = xpath.compile(expression);

		Object result = expr.evaluate(doc, XPathConstants.STRING);
		return result == null ? null : result.toString();
	}

  上面是获取document的元素值的通用方法。

1
3
分享到:
评论

相关推荐

    Java中使用xpath获取xml中的数据

    本篇将深入探讨如何在Java中利用XPath来提取XML文档中的数据,以及相关的实现步骤和关键知识点。 首先,理解XPath的基本概念至关重要。XPath使用路径表达式来选取XML文档中的节点。这些路径表达式类似于文件系统中...

    xpathDemo.zip

    在"xpathDemo"这个项目中,开发者可能创建了一个XML文件,然后使用JDOM加载该文件,接着利用XPath执行一些查询,例如找出所有价格大于特定值的书籍,或者获取某个元素的所有子元素。这样的示例有助于理解如何在实际...

    XPath依赖Jar包

    XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来选取XML文档中的节点,如元素...通过深入学习和实践,开发者可以熟练地利用XPath进行XML数据的检索和处理,大大提高XML文档的处理效率。

    python定位xpath 节点位置的方法

    在Python代码中,我们可以利用Selenium的`find_elements_by_xpath`方法来执行这些XPath表达式,并获取相应的节点列表。上述代码段展示了如何使用`find_elements_by_xpath`来选取`<html>`和`<head>`元素,并打印出...

    JDOM中XPath.selectNodes()和XPath.selectSingleNode()用法

    XPath是一种强大的查询语言,用于在XML文档中定位元素、属性和其他节点。本文将深入探讨JDOM库中XPath的相关方法——`selectNodes()`和`selectSingleNode()`,以及它们的用法。 首先,我们来理解JDOM的基本概念。...

    xpath语法与函数

    #### XPath实例 以“books.xml”为例,可以通过以下XPath表达式进行查询: - `/bookstore/book`:选择`bookstore`下的所有`book`元素。 - `/bookstore/book[price>30]`:选择价格大于30的所有书籍。 - `/bookstore/...

    XPath中文版

    此外,还可以使用"name()"函数来获取节点的名称。 在XPath中,我们还可以使用轴(axis)来描述节点之间的关系,如祖先轴(ancestor)、子节点轴(child)、后续兄弟轴(following-sibling)等。通过轴和节点测试的...

    Java版本的XPath方式解析jar和源代码

    总的来说,XPath是XML处理的重要工具,而Java提供了强大的支持来利用XPath的强大功能。在Java或Android开发中,掌握XPath能有效提升XML数据处理的能力,使得程序更加灵活和高效。通过学习和应用提供的源代码,开发者...

    python神奇xpath

    - **提取属性**:使用`/@属性名`来获取指定的属性值。 - **通配符**:`*`表示任何元素;`.`表示当前节点;`..`表示父节点。 例如,提取HTML中的文本内容: ```python content = selector.xpath('//ul[@id="useful...

    nekohtml+xpath实例,及注意事项

    标题 "nekohtml+xpath 实例,及注意事项" 指涉的是使用 nekohtml 库结合 XPath 表达式进行 HTML 解析和查询的技术。NekoHTML 是一个开源的 Java 库,它允许开发者解析和构建不完整的或错误的 HTML 文档。XPath 则是...

    java xpath demo

    总结来说,Java XPath Demo展示了如何在Java程序中利用XPath高效地处理XML数据。通过熟练掌握XPath,你可以轻松地从XML文档中提取所需信息,这对于处理XML格式的数据交换、配置文件或者Web服务响应非常有用。无论你...

    PB解析xml指定路径的节点内容

    5. **获取节点内容和属性**:对于每个节点,可以使用`Text`属性获取其文本内容,`GetAttribute()`方法获取属性值,如:`content = nodeList.Item(i).Text`和`attrValue = nodeList.Item(i).GetAttribute("attribute_...

    爬虫_数据提取值xpath和lxml模块学习

    在这个“爬虫_数据提取值xpath和lxml模块学习”的主题中,我们将深入探讨如何利用Python的XPath和lxml库进行高效、精准的数据抓取。 XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许我们通过...

    php+xml编程之xpath的应用实例

    通过指定XPath路径表达式“/words/word/ch”,我们可以查询到所有的ch元素,然后通过遍历DOMNodeList对象来获取并输出每一个ch元素的节点值。 除了基本的使用方法,XPath还提供了许多其他的函数和操作符,用于更...

    HtmlAgilityPack获取HTML节点内容

    // 获取节点 HtmlNode headerNode = doc.DocumentNode.SelectSingleNode("//h1"); // 输出节点内容 Console.WriteLine(headerNode.InnerText); ``` 这段代码首先创建了一个`HtmlDocument`对象,并加载了HTML字符串...

    自己实现ioc实例demo

    在这个“自己实现ioc实例demo”中,我们将探讨如何通过XPath解析XML文件来实现这一功能。 首先,让我们了解什么是依赖注入。在传统的编程中,一个类通常会自行创建它需要的对象,这导致了类与对象的紧密耦合。而在...

    Php.XPath-开源

    3. **节点操作方法**:可能包括获取节点值、修改节点内容、添加和删除节点等功能,这些操作可能基于 XPath 查询结果进行。 4. **错误处理**:良好的类设计应该包含错误处理机制,当 XPath 表达式无效或 XML 文档格式...

    xpath:XPath - defiantjs

    总的来说,XPath是处理XML数据的强大工具,而DefiantJS为JavaScript环境提供了对XPath的优秀支持,使开发者能够轻松地在JavaScript应用中利用XPath的强大功能,实现对XML数据的高效处理和分析。

    PHP使用xpath解析XML的方法详解

    通过这种方式,我们可以获取到每一个LeapsoulInfo节点下的name节点的值。 此外,Xpath还支持通过属性来查询具体的节点,例如我们要获取keyid为1的keyword节点: ```php foreach($xml->xpath("//name/keywords/...

Global site tag (gtag.js) - Google Analytics