XML知识小结

前端之家收集整理的这篇文章主要介绍了XML知识小结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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)定义


典例:

  1. company.dtd
  2. <!ENTITY%tip"name,loc">
  3. <!ELEMENTcompany(emp,cust)>
  4. <!ELEMENTemp(%tip;)>
  5. <!ELEMENTcust(%tip;)>
  6. <!ELEMENTname(#PCDATA)>
  7. <!ELEMENTloc(#PCDATA)>
  1. example.xml
  2. <?xmlversion="1.0"encoding="UTF-8"?>
  3. <!DOCTYPEbookstore[
  4. <!ELEMENTbookstore(book)>
  5. <!ELEMENTbook(title+)>
  6. <!ELEMENTtitle(#PCDATA)>
  7. <!ENTITYit"我们是一名软件工程师">
  8. ]>
  9. <bookstore>
  10. <book>
  11. <title>
  12. &it;
  13. </title>
  14. </book>
  15. </bookstore>


5.XML解析(dom4j解析器)

SAXReade saxreader = new SAXReader;

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


典例:

  1. importjava.util.List;
  2. importorg.dom4j.Document;
  3. importorg.dom4j.Element;
  4. importorg.dom4j.io.SAXReader;
  5. /**
  6. *使用dom4j解析器
  7. *传统方式定位标签
  8. *XPATH方式定位d标签
  9. */
  10. publicclassDemo06{
  11. publicstaticvoidmain(String[]args)throwsException{
  12. //创建dom4j解析器对象
  13. SAXReadersaxReader=newSAXReader();
  14. //创建InputStream对象,指向硬盘的xml文件
  15. DocumentxmlDocument=
  16. saxReader.read(
  17. Demo06.class.getClassLoader().getResource("cn/itcast/android/xml/tv.xml"));
  18. //ElementrootElement=xmlDocument.getRootElement();
  19. //Stringname=rootElement.element("a").element("b").element("c").element("d").getText().trim();
  20. //System.out.println(name);
  21. //System.out.println("----------------------------------");
  22. //Stringxpath="/tv/a/b/c/d";
  23. //Stringxpath="//d";
  24. //Stringage="23";
  25. //Stringxpath="//d[@age='"+age+"']";
  26. Stringxpath="//e[@name='哈哈'and@pass='123']";
  27. Elementelement=(Element)xmlDocument.selectSingleNode(xpath);
  28. //List<Element>list=xmlDocument.selectNodes(xpath);
  29. if(element!=null){
  30. Stringname=element.getText().trim();
  31. System.out.println(name);
  32. }else{
  33. System.out.println("查无此人");
  34. }
  35. }
  36. }

猜你在找的XML相关文章