宋利兴_09_28_XML笔记
复习:DTD约束:本身不是XML文档,
内部,外部SYSTEAM,公有
<!ELEMENT 学生列表(学生)*>
<!ELEMENT 学生(学号,姓名+,班级)> 元素
<!ELEMENT 学生(学号|姓名|班级)> 互斥
<!ELEMENT 学生(学号|姓名|班级)*> 无
<!ATTLIST 学生 性别CDATA “男”> 属性
<!ATTLIST 学生 性别 CDATA “男”
班级 CDATA #REQUIRED>
XML编程(CRUD):
XML的解析技术:sax,dom并不仅仅是在Java平台
Dom:(Document Object Model 文档对象模型)是W3C组织推荐的处理XML的一种方式,一次性全读出来,放在一个树形结构,实现简单,读取平衡,缺点:占内存!
SAX:占内存小,灵活,缺点不能写;
DocumentBuilder的对象是dom解析器,通过对应的工厂类创建
(1) 生成工厂类对象
调用 DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂。
DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();
调用工厂对象的 newDocumentBuilder方法得到 DOM 解析器对象。
DocumentBuilder db=factory.newDocumentBuilder();
调用 DOM 解析器对象的 parse() 方法解析 XML 文档,得到代表整个文档的 Document 对象,进行可以利用DOM特性对整个XML文档进行操作了。通过parse()装载一个xml文档。
Document doc=db.parse(DemoTest.class.getClassLoader().getResourceAsStream(“book.xml”));
或者直接db.parse(new File(src/book.xml));
接下来就要介绍文档对象模型dom了。
Xml文档它里面所有的内容都会被当成Node类型来处理。
Element元素节点、Text文本节点、Attr属性节点、
Node节点类型定义了作为节点的共性。getNodeName() getNodeType() getNodeValue()
(2)
XML文档里面所有的内容都会被当做节点(Noce)来处理
Element元素节点 Text文本节点 Arrt属性节点