1、XML简介:

  • XML(EXtensible Markuo Language),可扩展标记语言。

特点:

  • XML与操作系统、编程语言的开发平台无关

  • 实现不同系统之间的数据交换

作用:

  • 数据交互

  • 配置应用程序和网站

  • Ajax基石

     

    2、XML文档结构:

    2、XML文档结构:

    XML重点知识点集合!!

     

<标记、标签、元素>

根元素开始时放在<>里 结束时放在</>里

<!--这里写XML的注释-->

3、XML标签:

XML文档内容由一系列标签元素组成 实例:<元素名 属性名 =“属性值”>元素内容</元素名>

如果没有元素内容想表示空元素的话可以这么写:<name> </name>、<name></name>、<name/>

语法:

  • 属性值用双引号包裹

  • 一个元素可以有多个属性

  • 属性值中不能直接包含<,'',$(不建议:‘,>)

4、XML编写注意事项:

标签编写注意事项:

  • 所有XML元素都必须有结束标签

  • XML标签对大小写敏感

  • XML必须正确的嵌套

  • 同级标签以缩进对齐

  • 元素名称可以包含字母、数字或其他的字符

  • 元素名称不能以数字或者标点符号开始

  • 元素名称中不能含空格

5、转义符:

XML重点知识点集合!!

6、XML解析器及命名空间:

  • 解析器类型

    -非验证解析器

    检查文档格式是否良好

    -验证解析器

    使用DTD检查文档的有效性

  • XML命名空间的作用

    XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:

    xmlns:namespace-prefix="namespaceURI"

    示例: <?xml version="1.0" encoding="UTF-8"?> <cameras xmlns:canon="http://www.canon" xmlns:nikon="http://www.nikon.com"> <canon:camera prodID="P663" name="Camera傻瓜相机"/> <nikon:camera prodID="K29B3" name="Camera超级35毫米相机"/> </camera>

7、解析XML技术:

  • DOM

    基于XML文档树结构的解析

    适用于多次访问的XML文档

    特点:比较小号资源

    XML重点知识点集合!!

    其中带<>的叫 元素节点 、文字的叫文本节点、属性的叫 属性节点。

    XML重点知识点集合!!

    XML重点知识点集合!!

     

  • SAK

    基于事件的解析

    适用于大量数据的XML文档

    特点:占用资源少,内层消耗小

  • DOM4J

    非常优秀的Java XML API

    性能优异,功能强大

    开放源代码

    1):DOM解析XML:

    DOM解析XML,会一次性读入XML文件,会把文件中的所有元素,解析成一个个

    Node对象节点。DOM解析便于操作,可以轻松完成增删改查,但是DOM解析的

    文档不适合过大,因为DOM解析是将文档全部读入内存之中,过大的文件影响了

    机器性能,甚至容易导致内存溢出。

    DOM解析思路: ①创建工厂实例:DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); ②创建工厂解析器:DocumentBuilder db = dbf.newDocumentBuilder(); ③给定指定的xml文件:Document doc = db.parse("这里放的是xml文件目录"); 需要用到的重要方法: getElementsByTagName(String name):返回一个NodeList对象,它包含了所有指定标签名称的标签。 getDocumentElement():返回一个代表这个DOM树的根节点的Element对象,也就是代表XML文档根元素的对象。

    NodeList对象: getLength():返回列表的长度。 item(int index):返回指定位置的Node对象。

    Node对象: getChidNodes():此节点包含的所有子节点的NodeList。 getFirstChild():如果节点存在子节点,则返回第一个子节点。 getLastChild():如果节点存在子节点,则返回最后一个子节点。 getNextSibling():返回DOM树中这个节点的下一个兄弟节点。 getPreviousSibling():返回DOM树中这个节点的上一个兄弟节点。 getNodeName():返回节点的名称。 getNodeValue():返回节点的值。 getNodeType():返回节点的类型。

    Element对象: getChildNodes()获取标签的元素 getTextContent获取标签元素的内容 getAttribute(String attributename):返回标签中指定属性名称的属性的值 getElementsByTagName(String name):返回具有指定标记名称的所有后代Elements的NodeList.

8、DOM4J解析简介及导入jar包:

XML重点知识点集合!!

DOM4J是一个易用的、来源的库,用于XML、XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM、SAM和JAXP。

DOM4J使用起来非常简单,只要了解基本的XML-DOM模型,就能使用。DOM4J最大的特色是使用大量的接口,目前对DOM4J的使用越来越广泛。

DOM4J的主要接口都在org.dom4j包里定义。 Attribute:定义了XML的属性 Branch:为能够包含子节点的节点,如XML元素(Element)和文档(Document)定义了一个公共的行为。 CDATA:定义了XML CDATA区域。 CharacterData:是一个标识接口,标识基于字符的节点,如CDATA、Comment和Text。 Comment:定义了XML注释的行为。 Document:定义了XML文档。 DocumentType:定义XML DOCTYPE声明。 Element:定义了XML元素。 ElementHandler:定义了Element对象的处理器。 ElementPath:被ElementHandler使用,用于取得当前正在处理的路径层次信息。 Entity:定义XML entity。 Node:为DOM4j中所有的XML节点定义了多态行为。 NodeFilter:定义了在DOM4j节点中产生的一个滤镜或谓词(predict)的行为。 Text:定义XML文本节点。 Visitor:用于实现Visitor模式。 XPath:在分析一个字符串后会提供一个XPath表达式。

相关文章: