Xml
Xml简介(Extensible Markup Language),可扩展标记语言
特点:
1 xml与操作系统,编程语言的开发平台无关
2实现不同系统之间的数据交换(数据传输的一种工具)
作用:
数据交互
配置应用程序和网站
Ajax基石
树形结构 最外层的元素叫跟元素只有一个,其他的都是在根元素里面的子元素。
Xml文档内容有一系列标签元素组成
<元素名 属性名=“属性值”>元素内容</元素名>
空元素 <name></name>
语法:
属性值用双引号包裹
一个元素可以有多个属性
属性值中不能直接包含< ”&(不建议;’)
Xml编写注意事项
1 所有xml元素都必须有结束标签
2 xml标签对大小写敏感
3 xml必须正确的嵌套
4 同级标签以缩进对齐
5 元素名称可以包含字母,数字或其他字符
6 元素名称不能以数字或者标点符号开始
7 元素名称中不能包含空格
Xml中的转义符列表
< <
> >
“ "
‘ &apos
Xml 解析器
解析器类型
1非验证解析器(检查文档格式是否良好)
2验证解析器(使用DTD检查文档的有效性)
DTD(document tupe define 文档类型定义,xml文档的一种验证机制,约束xml文件的节点)
解析 xml技术
Dom解析
1 基于xml文档树结构的解析(文档对象模型)
2 适用于多次访问的xml文档
3 特点:比较消耗资源
Dom解析案例(把解析的xml整个加载到内存组织成object树)
例如一个xml文件
用dom解析步骤如下1. 导入from xml.dom.mindom import parse模块
2. 然后解析这个xml文件 doc=parse(“xml文件名.xml”)这个doc就得到了整个dom文档树
3. 得到根节点 root=doc.documentelement(root就得到了根节点)
得到所有子节点 b=root.getElementsByTagName("子节点名字")
4. 遍历子节点
For I in b
print(p.getElementsByTagName("子节点名字")[0].childNodes[0].data)(childNodes【0】表示第一个字节点里面的值)
这样就成功的用dom解析出了xml文件 这就是dom解析