javaWeb-xml解析概述和DOM&SAX解析原理

来源:互联网 发布:程序员工资条 编辑:程序博客网 时间:2024/05/22 15:22
XML编程:(CRUD)
create,read,update,delete
一,XML解析技术
两种:---
|--DOM:形成DOM树
| |--缺点:占内存
| |--优点:CRUD方便
|--SAX:从上向下读,读一行解析一行
| |--缺点:不适合CRUD
| |--优点:占内存较小

DOM和SAX解析的区别:
答:
1,Dom解析优点是对文档CRUD方便,缺点占用内存大
2,Sax解析优点占内存小,解析速度块,只适合用作读取,是适合CRUD

二,调整jvm内存大小
如果真的有个200M的XML,还要CURD,那么就调整JVM大小?
答:在启动jvm时加上参数-Xmx80m就是jvm使用80M的内存
在eclipse中,选中要运行的文件右键》Run As》Open Run Dialog
》在第二个选项卡中Argument中写入Xmx80m


三,XML解析开发包

jdom,jaxp(sun),dom4jdom4j最好,解析xml文档。jaxp(sun)|----是j2se的一部分,它由javax.xml、org.w3c.dom、org.xml.sax包及子包组成。||----在javax.xml.parsers包中,定义了几个工厂类,程序调用这些工厂类,可以 得到xml文档的DOM或SAX的解析器,从而实现对xml文档的解析代码实例:public void read(){DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();Document docment = builder.parse("src/book.xml");//指定解析文件NodeList list = document.getElementsByTagName("书名");//得到指定标签Node node = list.item(1);//调用第一个节点String content = node.getTextContent();//的到该节点的内容syso(content);}


接口Node|--Element|--getAttribute(String name) 通过名称获得属性值。DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();Document docment = builder.parse("src/book.xml");//指定解析文件Element bookname = (Element) docment.getElementByTagName("书名");String value = bookname.getAttribute("name");//通过具体的类使用getAttribute方法获取标记的属性值syso(value);




原创粉丝点击