今天学习了dom4j解析XML的方法,总的来说,解析XML文件分为2种方式:DOM方式和SAX方式。
下面简要介绍2中方式的区别:
1,dom4j的方式解析XML:
一次性将硬盘中的XML文件加载的内存形成一个倒状的树结构,从根节点开始从上向下一次遍历,获取有用节点的内容。
DOM解析器包:dom4J-1.6.1.jar
2,SAX类型: 分多次将硬盘中的XML文件加载到内存中,以事件的方式去解析节点中有用的内容。
下面主要描述dom4j的解析方式:
dom4j中有个文档对象:Document,该对象可以加载一个XML文档,具体方法如下:
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File("E:\\abc.xml"));
同时可以通过使用DocumentHelper解析一个字符串,该字符串符合XMl格式才行
String str = "<bookstroe><book><title>XML编程指南</title></book></bookstroe>";
Document parseText = DocumentHelper.parseText(str);
DocumentHelper可以创建一个文档对象:
Document document = DocumentHelper.createDocument();
可以通过以下方式获取根节点:
// 获取根节点
Element rootElement = xmlDocument.getRootElement();
比如我有个一个XML文件,名为goods
<?xml version="1.0" encoding="utf-8"?>
<market>
<goods id="005">
<name>iphone</name>
<num>5</num>
<price>5000</price>
<desc>苹果5S</desc>
</goods>
<goods id="005">
<name>iphone</name>
<num>5</num>
<price>5000</price>
<desc>苹果5S</desc>
</goods>
<goods id="001">
<name>iphone</name>
<num>5</num>
<price>5000</price>
<desc>苹果5S</desc>
</goods>
</market>
可以通过以下方式获取各个值
// 获取根节点
Element rootElement = xmlDocument.getRootElement();
List<Element> list = rootElement.elements("goods");
for(Element e : list){
System.out.println("id="+e.attributeValue("id"));
System.out.println("name="+e.attributeValue("name"));
System.out.println("nameTag="+e.element("name").getText());
System.out.println("num="+e.element("num").getText());
System.out.println("price="+e.element("price").getText());
System.out.println("desc="+e.element("desc").getText());
}
为了可以在众多子节点中间插入元素
rootElement.elements("goods")方式获取一个list集合。通过修改该集合里面的内容就可以实现在指定位置插入节点,操作该list的结果会影响rootElement的内容
1,XPath 是一门在 XML 文档中查找信息的语言
2,XPath 可用来在 XML 文档中对元素和属性进行遍历
3,XPath简化了Dom4j查找节点的过程
4,使用XPath必须导入jaxen-1.1-beta-6.jar
使用方式如下:
Tomcat 入门知识:
客户端课服务器要通信,要使用双方认可的规则HTTP超文本传输协议
web 应用特点
1,服务器响应客户端HTML
2,客户端采用URL定位全世界唯一的资源
3,为了便于记忆,用域名对IP进行封装
4,浏览器和服务器都采用HTTP协议
JavaEE规范:
表示多个具体技术的统称,例如Servlet,JSP,JavaBean,JDBC,JavaMail
Tomcat目录结构:
bin: 启动和停止web服务器的脚本文件,例如startup.bat shotdown.bat
conf 配置web服务器的xml服务器
lib 工具包jar文件
logs 日志
temp 缓存
webapps 工作空间,web应用放在这个文件才能 被外部浏览器访问
work
web应用程序要交由web服务器管理,叫做虚拟映射
一个web的目录结构
web
html
css
js
jsp
WEB-INF
classes
lib java运行时使用的jar包
web.xml web配置文件
配置tamcat 中conf目录下的server.xml文件,在Host节点下添加
<Context docBase="磁盘目录" path="映射路径"/>,即可实现虚拟映射,不必把项目部署到webapps目录下