XML配置文件的编写与解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: XML配置文件的编写与解析

xml配置文件的编写


xml文档实例

<?xmlversion="1.0"encoding="UTF-8"?>
<book>
  <name>Thinkinginjava</name>
  <author>BruceEckel</author>
  <price>108.00</price>
  <evaluate>good's book</evaluate></book>


什么是 XML?


  • XML 指可扩展标记语言(EXtensible Markup Language)。
  • XML 是一种很像HTML的标记语言。
  • XML 的设计宗旨是传输数据,而不是显示数据。
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 是 W3C 的推荐标准。


XML 用途


  • XML 把数据从 HTML 分离
  • XML 简化数据共享
  • XML 简化数据传输
  • XML 简化平台变更
  • XML 使您的数据更有用
  • XML 用于创建新的互联网语言


XML 树结构

image.png


XML 语法规则


  • XML 文档必须有根元素


  • XML 声明:
<?xmlversion="1.0"encoding="utf-8"?>


  • 所有的 XML 元素都必须有一个关闭标签


  • XML 标签对大小写敏感


  • XML 必须正确嵌套


  • XML 属性值必须加引号


  • 实体引用
&lt;

<

less than

&gt;

>

greater than

&amp;

&

ampersand

&apo;

apostrophe




&quot;

"

quotation mark

XML 中的注释

<!--Thisisaannotation-->


  • 在 XML 中,空格会被保留


  • XML 以 LF 存储换行


什么是 XML 元素?


XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。


一个元素可以包含:


  • 其他元素
  • 文本
  • 属性
  • 或混合以上所有…


元素命名规则


XML 元素必须遵循以下命名规则:


  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格

可使用任何名称,没有保留的字词。


最佳命名习惯


使名称具有描述性。使用下划线的名称也很不错:

< first_name>、< last_name>。


名称应简短和简单,比如:< book_title>,而不是:< the_title_of_the_book>。


避免 “-” 字符。如果您按照这样的方式进行命名:“first-name”,一些软件会认为您想要从 first 里边减去 name。


避免 “.” 字符。如果您按照这样的方式进行命名:“first.name”,一些软件会认为 “name” 是对象 “first” 的属性。


避免 “:” 字符。冒号会被转换为命名空间来使用(稍后介绍)。


XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的命名规则来命名 XML 文档中的元素。


在 XML 中,éòá 等非英语字母是完全合法的,不过需要留意,您的软件供应商不支持这些字符时可能出现的问题。


XML 属性


XML 属性必须加引号,属性值必须被引号包围,不过单引号和双引号均可使用。例如:

<personsex="female">


xml配置文件的解析


使用dom4j和xpath对xml配置文件的解析


需要导入的jar:


dom4j : dom4j-1.6.1.jar


xpath : jaxen-1.1-beta-6.jar

//创建SAXReader对象
SAXReadersaxReader = newSAXReader();
//获取编译后的classes文件目录
Stringpath = NewInstanceUtils.class.getClassLoader().getResource("").getPath();
//SAXReader读取配置文件,获取虚拟文档对象DocumentDocumentdocument = saxReader.read(path+"configuration.xml");
//选中name属性值为name的单个节点
Nodenode = document.selectSingleNode("//element[@name='"+name+"']");
//将节点转换成元素对象
Elementelement = (Element) node;
//通过该元素对象获取元素的文本字符串
Stringtext = element.getText();
//通过该元素对象获取该元素id属性值
StringidValue = element.attributeValue("id");


目录
相关文章
|
1月前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
80 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
6天前
|
JSON PHP 数据格式
PHP解析配置文件的常用方法
INI文件是最常见的配置文件格式之一。
|
1月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
1月前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
56 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
1月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
1月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
1月前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
79 0
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
66 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
52 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
59 0

推荐镜像

更多