HTML and XML

HyperText Markup language (超文本标记语言)

  • 不是编程语言,不做逻辑处理
  • 告诉浏览器如何构造网页

起始标签:Opening Tag

结束标签:Closing Tag

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1></h1>
<!-- -->
<p></p>
</body>


</html>
  • 块级元素
  • 内联元素
  • attribute 属性

CSS: Cascading Style Sheets 层叠样式表。

xml: 数据传输格式,可扩展性标记语言。

eXtensible Markup Language.

作用:

  • 传输数据,而不是展示数据(html展示数据)
  • 配置文件
  • 存储数据,小型数据库

写xml文件,必须要有根节点。

XML与HTML的区别:

  • HTML标签不能自定义,XML标签只能自定义;
  • HTML语法要求不严格,XML语法要求及其严格,必须是成对标签;
  • HTML用来展示数据,XML用来传输和存储数据。

XML基本语法:

  1. 语法规则
  • 必须要有根节点;
  • xml头声明,可有可无,但建议写;
1
<?xml version="1.0" encoding="utf-8" ?>
  • 所有标签必须成对出现;
  • 标签名大小写敏感;
  • 标签不可交叉。

注释:<!-- -->

特殊字符用实体转义:

  • &lt;<
  • &gt;$>$
  • &amp; &
  • &apos;'
  • &quot;"
  1. 元素属性
  • 描述标签
  • 一个标签可以由多个标签,包含在引号内
  • 命名规则:数字字母下划线,数字不能开头
  • xml中属性比较鸡肋
  • 在解析xml数据时,属性会需要额外的代码
  1. CDATA
  • 不解析内容
1
<![CDATA[不解析的内容]]>

python 解析xml

  • xml.etree.ElementTree
  • xml.dom
  • xml.dom.minidom
  • xml.dom.pulldom
  • xml.sax
  • xml.parsers.expart
1
2
3
4
5
6
import xml.dom.minidom as xdm

dom = xdm.parse(file)
root = dom.documentElement

a = root.getElementsByTagNmame('string')[0].firstChild.data
  • 获得子标签
  • 区分相同标签名的标签
  • 获取标签属性值
  • 获取标签对之间的数据