码迷,mamicode.com
首页 > 其他好文 > 详细

XML知识小结

时间:2015-07-30 19:43:49      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

1.XML有如下应用:

  1_存储数据,即在没有数据库的情况下,是一个很好的替代品;  

  2_传输数据,即服务器以XML的形式向android发送数据

  3_软件配置,即通用配置XML文件,通知应用程序如何处理业务



2.判断XML语法及其有效性

 浏览器能原样显示XML,说明XML语法没有问题。如果XML按照

  DTD规则写的要经过浏览器显示原样,还有用专门检测工具来

  检测是否符合DTD规则,如果符合DTD规则才算有效。



3.DTD三中基本关联方式:

内部:<!DOCTYPE 根节点 [

<!ELEMENT 元素 (约束条件)>

<!ELEMENT 元素 (约束条件)>

            。。。  。。。。。 

      ]>

外部:<!DOCTYPE 根节点 SYSTEM "路径">

公共:<!DOCTYPE 根节点 PUBLIC 名字 "路径" >



4.DTD约束要素

元素(ELEMENT)定义

属性(ATTLIST)定义

实体(ENTITY)定义


典例:

company.dtd
<!ENTITY%tip "name,loc">
<!ELEMENT company(emp,cust)>
<!ELEMENT emp(%tip;)>
<!ELEMENT cust(%tip;)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT loc(#PCDATA)>
example.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookstore [
<!ELEMENT bookstore (book)>
<!ELEMENT book(title+)>
<!ELEMENT      title(#PCDATA)>
<!ENTITY          it "我们是一名软件工程师">
]>
<bookstore>
<book>
<title>
&it;
</title>
</book>
</bookstore>


5.XML解析(dom4j解析器)

SAXReade saxreader = new SAXReader;

document xsmldocumen = saxreader.read("xml文件路径");


典例:

import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
 * 使用dom4j解析器
 * 传统方式定位标签
 * XPATH方式定位d标签
 */
public class Demo06 {
public static void main(String[] args) throws Exception{
//创建dom4j解析器对象
SAXReader saxReader = new SAXReader();
//创建InputStream对象,指向硬盘的xml文件
Document xmlDocument = 
saxReader.read(
Demo06.class.getClassLoader().getResource("cn/itcast/android/xml/tv.xml"));
//Element rootElement = xmlDocument.getRootElement();
//String name = rootElement.element("a").element("b").element("c").element("d").getText().trim();
//System.out.println(name);
//System.out.println("----------------------------------");
//String xpath = "/tv/a/b/c/d";
//String xpath = "//d";
//String age = "23";
//String xpath = "//d[@age=‘"+age+"‘]";
String xpath = "//e[@name=‘哈哈‘ and @pass=‘123‘]";
Element element = (Element) xmlDocument.selectSingleNode(xpath);
//List<Element> list = xmlDocument.selectNodes(xpath);
if(element!=null){
String name = element.getText().trim();
System.out.println(name);
}else{
System.out.println("查无此人");
}
}
}


XML知识小结

标签:

原文地址:http://my.oschina.net/u/1774694/blog/485726

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!