加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML知识小结

发布时间:2020-12-16 09:01:16 所属栏目:百科 来源:网络整理
导读:1.XML有如下应用: 1_存储数据,即在没有数据库的情况下,是一个很好的替代品; 2_传输数据,即服务器以XML的形式向android发送数据 3_软件配置,即通用配置XML文件,通知应用程序如何处理业务 2.判断XML语法及其有效性 浏览器能原样显示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)定义


典例:

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


5.XML解析(dom4j解析器)

SAXReade saxreader = new SAXReader;

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


典例:

importjava.util.List;
importorg.dom4j.Document;
importorg.dom4j.Element;
importorg.dom4j.io.SAXReader;
/**
*使用dom4j解析器
*传统方式定位标签
*XPATH方式定位d标签
*/
publicclassDemo06{
publicstaticvoidmain(String[]args)throwsException{
//创建dom4j解析器对象
SAXReadersaxReader=newSAXReader();
//创建InputStream对象,指向硬盘的xml文件
DocumentxmlDocument=
saxReader.read(
Demo06.class.getClassLoader().getResource("cn/itcast/android/xml/tv.xml"));
//ElementrootElement=xmlDocument.getRootElement();
//Stringname=rootElement.element("a").element("b").element("c").element("d").getText().trim();
//System.out.println(name);
//System.out.println("----------------------------------");
//Stringxpath="/tv/a/b/c/d";
//Stringxpath="//d";
//Stringage="23";
//Stringxpath="//d[@age='"+age+"']";
Stringxpath="//e[@name='哈哈'and@pass='123']";
Elementelement=(Element)xmlDocument.selectSingleNode(xpath);
//List<Element>list=xmlDocument.selectNodes(xpath);
if(element!=null){
Stringname=element.getText().trim();
System.out.println(name);
}else{
System.out.println("查无此人");
}
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读