XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:
xmlns:namespace-prefix="namespaceURI"
当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。
注释:用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。
spring常用xml文件
xmlns
* 是XML NameSpace的缩写,表示命名空间
* 因为XML文件的标签是自定义的,可能会重复,所以加上namespace来区分
xsi:schemaLocation
* 用于声明了目标名称空间的模式文档
* xsi:schemaLocation属性的值由一个URI引用对组成,两个URI之间以空白符分隔
* 第一个URI是名称空间的名字,第二个URI给出模式文档的位置
* 模式处理器将从第二个URI的位置读取模式文档,该模式文档的目标名称空间必须与第一个URI相匹配
spring常用配置文件举例
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.0.xsd">
</beans>
解析xml
* 导入dom4j-1.6.1.jar
* 使用saxReader对象加载xml文档获得document,通过document对象获得文档根元素对象
* 例子
要解析的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<person>
<name>zhangsan</name>
<age>22</age>
<sex>男</sex>
</person>
解析的代码
package dom4jpackage;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class dom4jclass {
public static void main(String[] args) throws Exception {
//获取document对象
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("a.xml");
//获取根元素对象
Element rootElement = document.getRootElement();
//获取xml所有子节点
List<Element> elements = rootElement.elements();
//遍历
for (Element element:elements) {
System.out.println(element.getName());
}
}
}
解析xml常用的API
* SaxReader对象
* read(..) 加载xml文件
* Document对象
* getRootElement() 获得根元素
* Element对象
* elements(..) 获取指定名称的所有子元素,可以不指定
* element(..) 获取指定清除的子元素,可以不指定
* getName() 获取当前元素的名字
* attributeValue(..) 获取指定属性名的属性值
* elementeText(..) 获取指定名称子元素的文本值
* getText() 获取当前元素的文本内容