/* *作者:呆萌老师 *☑csdn认证讲师 *☑51cto高级讲师 *☑腾讯课堂认证讲师 *☑网易云课堂认证讲师 *☑华为开发者学堂认证讲师 *☑爱奇艺千人名师计划成员 *在这里给大家分享技术、知识和生活 *各种干货,记得关注哦! *vx:it_daimeng */
XML(Extensible Markup Language)可扩展标记语言。
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
二、XML 与 HTML 的主要差异
1、 XML 不是 HTML 的替代。
2、 XML 和 HTML 为不同的目的而设计:
3、 XML 被设计为传输和存储数据,其焦点是数据的内容。
4、 HTML 被设计用来显示数据,其焦点是数据的外观。
5、 HTML 旨在显示信息,而 XML 旨在传输信息。
优点:
1、开发者自定义标签,摆脱了固定标签的枷锁;
2、跨平台兼容性和跨语言兼容性;
优势:
1、商业优势:信息共享、单一应用、内容交付
2、技术优势:数据重用、数据和表示分离、可扩展性
应用场景:
1.用于配置文件
2.web上的数据传输 webservice
3.通过ajax 获得大量数据,返回XML文件
4.当做小型数据库使用,用来存储数据
- 1、标签名区分大小写,且必须按照表示法命名规则命名;
2、每一个xml文档必须声明,文档声明必须从文档的0行0列位置开始;
3、每一个xml文档,必须有一个跟级别元素
4、如果是双标签,则标签是成对的,必须成对使用(即:<开始标签>内容</结束标签>)
XML 命名规则
XML 元素必须遵循以下命名规则:
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
可使用任何名称,没有保留的字词。
- 底层接口之一(另一种是sax) ;
而jdom和dom4j则是基于底层api的更高级封装;
dom是通用的,而jdom和dom4j则是面向java语言的。1、JDOM
的目的是成为与文档声明其目的是自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档(尽管它还可以将以前构造的 DOM 表示作为输入)。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。JDOM 是在 Apache 许可证变体下发布的开放源码。
、DOM4J
虽然为支持所有这些功能,在添加灵活性、是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。
3、总述
在性能测试时表现不佳,在测试总的来说DOM4J是最好的,目前许多开源项目中也大量采用 DOM4J,例如大名鼎鼎的 Hibernate 也用 DOM4J 来读取 XML 配置文件。如果不考虑可移植性,那就采用DOM4J吧!