XML文件如下:
<?xml version="1.0" encoding="gbk" standalone="yes"?> <unit xmlns="http://www.sdml.info/srcML/src" xmlns:cpp="http://www.sdml.info/srcML/cpp"> <cpp:ifndef> <name>test</name> </cpp:ifndef> <class>class</class> </unit>
解析代码如下:
public static void main(String [] args){ Document document = XmlTools.getDoc(file.getPath()); HashMap xmlMap = new HashMap(); xmlMap.put("src", "http://www.sdml.info/srcML/src"); xmlMap.put("cpp", "http://www.sdml.info/srcML/cpp"); // 以下可以访问到 XPath x0 = document.createXPath("unit/src:class"); XPath x1 = document.createXPath("src:unit/src:class"); XPath x2 = document.createXPath("/unit/src:class"); XPath x3 = document.createXPath("unit/src:class"); XPath x4 = document.createXPath("/unit/cpp:define"); XPath x6 = document.createXPath("unit/cpp:define"); XPath x7 = document.createXPath("src:unit/cpp:define"); // 以下访问不到 XPath x8 = document.createXPath("unit/class"); XPath x9 = document.createXPath("unit/define"); XPath x10 = document.createXPath("/unit/class"); XPath x11 = document.createXPath("/unit/define"); XPath x12 = document.createXPath("src:unit/class"); XPath x13 = document.createXPath("src:unit/define"); XPath x14 = document.createXPath("unit/cpp:class"); XPath x15 = document.createXPath("unit/src:define"); test(x0, document, xmlMap); test(x1, document, xmlMap); test(x2, document, xmlMap); test(x3, document, xmlMap); test(x4, document, xmlMap); test(x6, document, xmlMap); test(x7, document, xmlMap); test(x8, document, xmlMap); test(x9, document, xmlMap); test(x10, document, xmlMap); test(x11, document, xmlMap); test(x12, document, xmlMap); test(x13, document, xmlMap); test(x14, document, xmlMap); test(x15, document, xmlMap); } static void test(XPath x, Document doc, Map map) { x.setNamespaceURIs(map); System.out.println("运行结果:"+x.selectNodes(doc).size()); }
运行结果如下:
运行结果:1 运行结果:1 运行结果:1 运行结果:1 运行结果:1 运行结果:1 运行结果:1 运行结果:0 运行结果:0 运行结果:0 运行结果:0 运行结果:0 运行结果:0 运行结果:0 运行结果:0
您还没有登录,请您登录后再发表评论
本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器修改。与W3C DOM API相比,使用dom4j所包含的...
XML节点访问的路径表达式【相对路径】和【绝对路径】的匹配原则
该示例实现MAVEN来进行创建的,实现了dom4j操作XML文件,包括创建XML、动态创建XML节点、更新XML节点、删除XML节点。
三、使用dom4j解析xml文件 5 1. 构建dom4j树 5 2. 获取节点 5 3. 获取属性 6 4. 使用XPath获取节点和属性 6 四、使用dom4j修改xml文件 7 五、常用方法 8 1.Element元素API 8 2. Attribute属性API 8 2. 字符串转化 8...
XML节点访问的路径表达式【相对路径】和【绝对路径】的匹配原则,Dem4j集合XPath解析XML
dom4j的工具包,有两个包动态,一个是dom4j.jar,一个是Jaxen.jar,其中dom4j.jar主要用户创建XML和读取XML,Jaxen.jar用于使用Xpath查找xml节点及属性。
} <br> /** * 修改XML文件中内容,并另存为一个新文件 * 重点掌握dom4j中如何添加节点,修改节点,删除节点 * @param filename 修改对象文件 * @param newfilename 修改后另存为该文件 * @...
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen...
使用XPath的目的:为了在匹配XML文档结构时能够准确地找到某一个节点元素。可以把XPath比作文件管理路径,通过文件管理路径,可以按照一定的规则查找到所需要的文件;同样,依据XPath所制定的规则,也可以很方便地...
JDOM、Dom4j操作xml文档 创建xml xpath query xml元素,完成xml的创建、节点的创建、修改、遍历,xpath的遍历xml节点元素
解析复杂的xml,引入jaxen包,dom解析支持xpath,是复杂的xml解析更简单,可以通过xpath语法直接找到对应的节点,数据
经典xpath教材打包, XPath是W3C定义的语言和正式的W3C推荐的语言,W3C拥有XML Path ...同样,依据XPath所制定的规则,也可以很方便地找到XML结构文档树中的任何一个节点,显然这对XSLT来说是一个最最基本的功能。
dom4j中使用到的方法: 1.创建SaxReader对象 SAXReader reader = new SAXReader(); 2.设置命名空间 reader.getDocumentFactory().setXPathNamespaceURIs(map); 3. SAXReader对象调用...
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。 XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 两个jar包一般情况下是一起用的。
DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。 SAX解析XML,是基于事件通知的...
现在常用的网页解析工具有:Jsoup,JsoupXpath,HtmlCleaner。 jsoup 是一款Java 的XML、HTML解析... 解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
详细讲解dom4j用法+例子 1.读取并解析XML文档 2. 取得Root节点 3.遍历XML树 4. XPath支持 5. 字符串与XML的转换 6. 用XSLT转换XML 7. 创建XML 8. 文件输出
本文实例讲述了PHP操作XML中XPath的应用。分享给大家供大家参考,具体如下: XPath即为XML路径语言,它是一种用来确定XML(标准...PHP 文件在载入xml文件和创建DOMDocument 对象后,就可以开始建立DOMXPath 对象。 建立
* 通过xpath表达式解析某个xml节点。 * * @param obj * 要被解析的xml节点对象。 * @param xPath * xpath表达式。 * @param qName * 被解析的目标类型。 * @return 返回解析后的对象。 * @...
相关推荐
本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器修改。与W3C DOM API相比,使用dom4j所包含的...
XML节点访问的路径表达式【相对路径】和【绝对路径】的匹配原则
该示例实现MAVEN来进行创建的,实现了dom4j操作XML文件,包括创建XML、动态创建XML节点、更新XML节点、删除XML节点。
三、使用dom4j解析xml文件 5 1. 构建dom4j树 5 2. 获取节点 5 3. 获取属性 6 4. 使用XPath获取节点和属性 6 四、使用dom4j修改xml文件 7 五、常用方法 8 1.Element元素API 8 2. Attribute属性API 8 2. 字符串转化 8...
XML节点访问的路径表达式【相对路径】和【绝对路径】的匹配原则,Dem4j集合XPath解析XML
dom4j的工具包,有两个包动态,一个是dom4j.jar,一个是Jaxen.jar,其中dom4j.jar主要用户创建XML和读取XML,Jaxen.jar用于使用Xpath查找xml节点及属性。
} <br> /** * 修改XML文件中内容,并另存为一个新文件 * 重点掌握dom4j中如何添加节点,修改节点,删除节点 * @param filename 修改对象文件 * @param newfilename 修改后另存为该文件 * @...
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen...
使用XPath的目的:为了在匹配XML文档结构时能够准确地找到某一个节点元素。可以把XPath比作文件管理路径,通过文件管理路径,可以按照一定的规则查找到所需要的文件;同样,依据XPath所制定的规则,也可以很方便地...
JDOM、Dom4j操作xml文档 创建xml xpath query xml元素,完成xml的创建、节点的创建、修改、遍历,xpath的遍历xml节点元素
解析复杂的xml,引入jaxen包,dom解析支持xpath,是复杂的xml解析更简单,可以通过xpath语法直接找到对应的节点,数据
经典xpath教材打包, XPath是W3C定义的语言和正式的W3C推荐的语言,W3C拥有XML Path ...同样,依据XPath所制定的规则,也可以很方便地找到XML结构文档树中的任何一个节点,显然这对XSLT来说是一个最最基本的功能。
dom4j中使用到的方法: 1.创建SaxReader对象 SAXReader reader = new SAXReader(); 2.设置命名空间 reader.getDocumentFactory().setXPathNamespaceURIs(map); 3. SAXReader对象调用...
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。 XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 两个jar包一般情况下是一起用的。
DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。 SAX解析XML,是基于事件通知的...
现在常用的网页解析工具有:Jsoup,JsoupXpath,HtmlCleaner。 jsoup 是一款Java 的XML、HTML解析... 解析后编程轻量级文档对象,能够很容易的被转换到DOM或者JDom标准文档,或者通过各种方式(压缩,打印)连续输出XML。
详细讲解dom4j用法+例子 1.读取并解析XML文档 2. 取得Root节点 3.遍历XML树 4. XPath支持 5. 字符串与XML的转换 6. 用XSLT转换XML 7. 创建XML 8. 文件输出
本文实例讲述了PHP操作XML中XPath的应用。分享给大家供大家参考,具体如下: XPath即为XML路径语言,它是一种用来确定XML(标准...PHP 文件在载入xml文件和创建DOMDocument 对象后,就可以开始建立DOMXPath 对象。 建立
* 通过xpath表达式解析某个xml节点。 * * @param obj * 要被解析的xml节点对象。 * @param xPath * xpath表达式。 * @param qName * 被解析的目标类型。 * @return 返回解析后的对象。 * @...
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen...