1.1xml基本知识

1.xml 头和文本转义内容

<?xml version="1.0" encoding="UTF-8" ?>

version:表示xml规范

Encoding :字符编码

Standalone[yes|no]: 是否是独立的  yes不能引用外部的DTD规范文件;no表示可以引用外部的DTD规范文档

 

转义字符

&lt;

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

单引号

&quot;

"

双引号

 

<![CDATA[<>!]]>将内容作为普通字体处理

 

<?处理指令名 处理指令信息?>

<?xml-stylesheet type="text/css"?>

 

2.DTD(DocumentType Definition) 约束xml内容

如:<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">


dtd3种分类:

内部:<!DOCTYPE root[

 

]>

<root>Xml主体

</root>

 外部:<!DOCTYPE root

     SYSTEM “url”

     >

 

公用:!DOCTYPEroot

     PUBLIC “DTD标识名” “url”

     >


3.xml 命名空间

作用:相当于java的包 ,避免元素名称重复;

xmlns= 默认命名空间

引入其他命名空间 xmlns:context="http://www.springframework.org/schema/context"

使用其他命名空间 <context:component-scan base-package="jdbc.transaction">


4.xml解析

Xerces 解析 xml jdk1.5 以上自动包含

DocumentBuilderFactory

DocumentBuilder

 

SAXParserFactory

SAXParser


4.1 xpath:查找元素或者属性

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)


轴(axis):定义所选节点与当前节点之间的树关系  子节点,兄弟,祖先等等

节点测试(node-test):识别某个轴内部的节点 (如选择book节点)

零个或者更多谓语(predicate):更深入地提炼所选的节点集(添加条件限制,如作者)

语法:

轴名称::节点测试[谓语]


java xpath 解析xml

XPathFactory xmlFactory=XPathFactory.newInstance();

XPath xpath=xmlFactory.newXPath();


Node node=(Node) xpath.evaluate("/configuration", node, XPathConstants.NODE);//xpath表达式,当前节点,返回元素类型


常见问题

            //node.getChildNodes(); 返回的类型有: Element,Text, Attribute,  RootElement, Comment, Namespace等。
            //可以根据返回的节点类型过滤,得到想要的类型。


5.xml与property转换

property.loadFromXML(inputstream);

property.storeToXML(outputstream, "properties to xml");




你可能感兴趣的:(1.1xml基本知识)