XML
2018-06-13 09:08:10 0 举报
AI智能生成
积攒20个后,开放克隆。XML的相关课程知识
作者其他创作
大纲/内容
约束
DTD
约束框架
XSD
约束具体
语法与规则
XML解析
DOM/SAX
JAXP
JDOM
DOM4J
查询
XPATH
添加类库
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
伪代码
查询指定
SAXReader read=new SAXReader();
Document document=read.read("src/book.xml");
Node node=document.selectSingleNode("/书架/书[2]/书名");
System.out.println(node.getText());
Document document=read.read("src/book.xml");
Node node=document.selectSingleNode("/书架/书[2]/书名");
System.out.println(node.getText());
查询所有
SAXReader read=new SAXReader();
Document document=read.read("src/book.xml");
List<Node> list=document.selectNodes("//*");
for (Node ob : list) {
System.out.println(ob.getName()+"\t"+ob.getText());
Document document=read.read("src/book.xml");
List<Node> list=document.selectNodes("//*");
for (Node ob : list) {
System.out.println(ob.getName()+"\t"+ob.getText());
查询指定1
SAXReader read=new SAXReader();
Document document=read.read("src/book.xml");
List nodes=document.selectNodes("//@*");
for (int i = 0; i < nodes.size(); i++) {
Node node=(Node) nodes.get(i);
System.out.println(node.getName()+"\t"+node.getText());
}
Document document=read.read("src/book.xml");
List nodes=document.selectNodes("//@*");
for (int i = 0; i < nodes.size(); i++) {
Node node=(Node) nodes.get(i);
System.out.println(node.getName()+"\t"+node.getText());
}
定位语法
解释:基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径
以斜线 / 开始
/AAA
选择根元素AAA
/AAA/CCC
选择AAA的所有CCC子元素
/AAA/DDD/BBB
选择AAA的子元素DDD的所有子元素
以双斜线 // 开头
//BBB
选择所有BBB元素
//DDD/BBB
选择所有父元素是DDD的BBB元素
星号 * 表示
/AAA/CCC/DDD/*
选择所有路径依附于/AAA/CCC/DDD的元素
/*/*/*/BBB
选择所有的有3个祖先元素的BBB元素
//*
选择所有元素
方块号里的表达式
/AAA/BBB[1]
选择AAA的第一个BBB子元素
/AAA/BBB[last()]
选择AAA的最后一个BBB子元素
@里的表达式
//@id
选择所有的id属性
//BBB[@id]
选择有id属性的BBB元素
//BBB[@*]
选择有任意属性的BBB元素
//BBB[not(@*)]
选择没有属性的BBB元素
准则
//BBB[@id='b1']
选择含有属性id且其值为'b1'的BBB元素
。。。
//BBB[normalize-space(@name)='bbb']
选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为'bbb'的BBB元素
count()函数
。。。
0 条评论
下一页