-
如何直接从String里用xpath查询?5
比如我有一个String就是"<abc>xxx</abc>";我知道这个String是符合xml格式的(除了没有xml或html头部),怎么用xpath直接查这个String?即比如我想查"\\abc\text()"。怎么写?2014年7月25日 17:35
4个答案 按时间排序 按投票排序
-
没有dom4j的包
正常解析xml 希望能对你有帮助:
<?xml version="1.0" encoding="UTF-8"?>
<user>
<abc>133</abc>
</user>
package cn.com.wangxiuwei.test;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class TestXpath {
/**
* @param args
* @throws ParserConfigurationException
* @throws IOException
* @throws SAXException
*/
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document d=db.parse("src/testxpath.xml");
String strxpath = "//user/abc";
NodeList nl=d.getElementsByTagName("abc");
System.out.println(nl.item(0).getTextContent()+" "+nl.item(0).getParentNode().getNodeName());
}
}
打印结果:
133 user2014年7月26日 04:52
-
1.xml文件
<?xml version="1.0" encoding="UTF-8"?> <company name="www.java-connect.com" address="Bangalore" country="INDIA"> <person> <personid>000001</personid> <name>Mahendra</name> <age>29</age> </person> <person> <personid>000004</personid> <name>Rajendra</name> <age>34</age> </person> <person> <personid>000007</personid> <name>Surendra</name> <age>22</age> </person> <person> <personid>000019</personid> <name>Manmohan</name> <age>31</age> </person> </company>
2.java文件查询package com.lance; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.SAXReader; public class Dom4jSample { public static void main(String[] args) throws DocumentException { SAXReader reader = new SAXReader(); Document doc = reader.read("src/test/java/com/lance/person.xml"); String xpathExpression = "//company/person/personid/name"; List<Node> nodes = doc.selectNodes(xpathExpression); if(nodes == null || nodes.isEmpty()) { System.out.println("没有查询数据"); } } }
2014年7月25日 22:24
-
这有个2工具类.其中XPathUtils有对字符串查询的
https://github.com/terheyden/XPathDemos2014年7月25日 18:01
-
解析xml字符串一般用jsoup
如果
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>"; Document doc = Jsoup.parse(html); Element link = doc.select("a").first(); String text = doc.body().text(); // "An example link" String linkHref = link.attr("href"); // "http://example.com/" String linkText = link.text(); // "example"" String linkOuterH = link.outerHtml(); // "<a href="http://example.com"><b>example</b></a>" String linkInnerH = link.html(); // "<b>example</b>"
2014年7月25日 17:46
相关推荐
当一个Web应用将用户提供的数据直接嵌入到XPath查询语句中而不进行任何验证或转义时,攻击者就可以构造恶意的XPath表达式,从而实现攻击目的。例如,攻击者可以通过修改URL中的参数值来尝试执行任意XPath查询,以此...
1. 实时XPath查询:用户可以直接在浏览器中输入XPath表达式,插件会立即高亮显示匹配的元素,方便查看结果。 2. 快速定位:对于网页上的任何元素,XPathHelper可以提供最简化的XPath路径,帮助用户快速找到目标元素...
- **字符串(string)**: 由字符组成的序列,XPath提供了多种字符串操作函数。 - **数值(number)**: 表示浮点数,包括特殊值如NaN、infinity、-infinity和0。可以与布尔值和字符串类型转换。 3. **XPath节点类型** ...
本文将深入探讨如何使用XPath来获取子标签下的所有文本内容。 在XML或HTML结构中,一个元素可能包含多个子元素,每个子元素又可能有各自的文本内容。有时,我们可能需要提取某个父元素下所有子元素的文本,而不仅仅...
- **寻找独立节点**:如果只需要文档中的某一部分,可以直接通过XPath定位到该节点。 #### Chrome生成法 对于复杂的HTML文档,手动编写XPath路径可能较为困难。这时可以使用Chrome浏览器的开发者工具来辅助生成...
本文将围绕“xpath_string-0.0.2-py3-none-any.whl”这个Python库,深入探讨其功能、使用方法以及在实际项目中的应用。 首先,我们来了解什么是“xpath_string”。这是一个Python库,主要功能是处理和操作XPath字符...
XPath使用路径表达式来定位XML文档中的节点。路径表达式类似于文件系统的路径。例如,“/”表示文档的根节点,而“/child”则表示根节点的直接子节点。 #### XPath轴 XPath轴定义了如何从当前节点遍历到其他节点。...
5. **数据库查询**:某些数据库系统支持XPath查询,可以在SQL查询中使用XPath表达式来定位和检索XML文档中的数据。 #### 六、XPath 的高级特性 1. **变量与参数**:XPath 2.0 引入了变量和参数的概念,允许在...
通过理解基本的路径表达式、使用双斜线和星号进行选择以及了解XPath提供的各种轴和函数,开发者可以有效地从复杂的XML文档中获取所需的信息。掌握XPath不仅能够提高开发效率,还能使数据处理变得更加灵活高效。
此外,考虑到XML解析的效率和易用性,还可以考虑使用更高级的XML解析库,如JDOM或DOM4J,而不是直接使用XPath。 总的来说,调用Google Maps服务并使用XPath解析返回结果涉及了网络请求、XML解析以及API的使用等多个...
在实际开发中,XPath常与DOM或SAX结合使用,先由DOM或SAX解析XML,然后用XPath进行查询。 实例应用: 假设我们有一个XML文件,内容如下: ```xml <name>John Doe <position>Manager <name>Jane Smith ...
非常不建议直接粘贴Firefox或chrome里生成的Xpath,这些浏览器在渲染页面会根据标准自动补全一些标签,如table标签会自动加上tbody标签,这样生成的Xpath路径显然不是最通用的,所以很可能就取不到值。所以,要使用...
这些源码和库可以帮助理解XPath的工作原理,也可以直接使用,节省开发时间。 总的来说,XPath是XML处理的重要工具,而Java提供了强大的支持来利用XPath的强大功能。在Java或Android开发中,掌握XPath能有效提升XML...
我们可以使用XPath表达式如 `//B[@id='b1']` 来选取ID为“b1”的B元素,或者用 `/A/B/C/E[2]` 来选取第二个E元素。 XPath还提供了丰富的函数库,比如`text()`用于选取节点的文本内容,`count()`计算节点个数,`...
4. **XPath应用**:在Python中,我们可以通过`tree.xpath()`方法执行XPath查询。例如,筛选出所有的职位链接(假设链接在`<a>`标签的`href`属性中): ```python job_links = tree.xpath('//a[@class="job-name"]/...
Demo4j不直接包含XPath功能,但可以与其他库(如JDOM或DOM4J)结合使用,以实现XPath查询。DOM4J是Java中一个流行的XML处理库,它提供了XPath的支持。 在集成DOM4j和XPath时,首先需要创建一个Document对象,这代表...
XPath使用类似于计算机文件系统的路径表达式来定位XML文档中的节点或节点集合。例如,`/books/book/title`表示从根节点开始选择所有`<book>`元素下的`<title>`元素。 #### 1.3 XPath标准函数 XPath包含超过100个...
### XML 查询语言 XPath 参考文档知识点解析 #### 核心概念:XPath 是什么? XPath 是一种用于在 XML 文档中查找信息的语言。正如标题所言,“xml查询语言 xpath 参考文档,有比较好的示例”,这表明文档旨在帮助...
而`com.sun.org.apache.xpath.internal.operations.String`虽然名称相似,但其作用和使用场景完全不同,主要服务于XPath解析和处理,通常不应直接在常规代码中使用。 当发现此类问题时,应该立即检查代码中的`...
在IT行业中,XML(eXtensible ...如果需要进一步优化或处理复杂情况,可以考虑使用如`javax.xml.xpath.XPath`接口和`XPathConstants.NODESET`常量来执行XPath查询,或者使用SAX或StAX解析器进行更高效的流式处理。