XML解析
- XSD简介
1.XSD是DTD的替代者
2.他不仅可以定义XML文档的结构,还可以规范文档的内容
3.XSD本身也是XML文档,
4.XSD采用XML文档来定义语义约束,比DTD要复杂一些,但是共跟那个要强大很多
a,支持丰富的数据类型
b.允许开发者自定义的数据类型
c可读性比较强
d可以针对未来需求进行扩展
- XML解析
是对xml文件进行操作,包括创建xml,对xml文件进行增删改查的操作
》》》常见的xml解析技术
1.DOM解析(原生解析,官方)
是官方提供的解析方式,是基于XML树解析的,比较耗费资源,适用于多次访问xml
2.SAX解析(原生解析,民间)
基于事件,小号资源标记哦少,适用于较大的的XML
3.JDOM解析()
开放源代码,比DOM快,但是仅适用具体类而不适用接口
4.DOM4J解析,(是JDOM的升级版本)
开源免费,性能优异,功能强大,使用接口而不是实现类,非常优秀的java XML API
DOM4J解析,是提供开源免费,是一个升级版
package bjsxt.xml; import java.io.File; import java.util.Iterator; import org.dom4j.*; import org.dom4j.io.SAXReader; public class getXML { public static void main(String[] args) throws DocumentException { //1.创建SAXReader对象,用于读取xml文件 SAXReader reader = new SAXReader(); //2.读取xml文件,得到Document、对象 Document doc = reader.read(new File("src/books.xml")); //System.out.println(document); //3.获取根元素 Element root = doc.getRootElement(); //System.out.println(root.getName()); //4.找到根元素下面的所有子元素 Iterator<?> it = root.elementIterator(); while(it.hasNext()) { //5.取出元素 Element e = (Element)it.next(); System.out.println(e.getName()); //5.1取出属性 //e.attributeIterator(); Attribute id = e.attribute("id"); System.out.println(id.getName()+"="+id.getValue()); //5.2获取子元素 Element name = e.element("name"); Element author = e.element("author"); Element price = e.element("price"); System.out.println(name.getName()+"="+name.getStringValue()); System.out.println(author.getName()+"="+author.getText()); System.out.println(price.getName()+"="+price.getStringValue()); System.out.println("-----------------------------"); } } }
》》》a.被读取的xml文件在上一篇文章中,
》》》b.在运行上面程序之前需要需要先下载dom4j.jar包,然后将这个jar包添加到项目中去
http://www.pc6.com/softview/SoftView_449799.html 随便一个下载地址
1.右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Build Path,弹出对话框,这里选择"Add Library",弹出对话框,选择"User Library",然后选择→Next
2.在出现的对话框中,可以选择已经创建好的用户自定义库,也可以选择User Libraries,弹出的新对话框中选择"New",创建新的用户自定义库。
3.在待创建用户自定义库中,输入新的自定义库的名字,
4.然后为新库,添加所需的Jar包
5.按上述步骤添加好用户自定义库后,以后可以重用这些已定义好的User Library库,为开发节省时间。