Python Web-第五周-Web Services and XML(Using Python to Access Web Data)

1.Web Service Overview

1.Data on the Web

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第1张图片

Python Dictionary 和 Java HashMap间需要建立一个桥梁,可以用XML或是JSON

2.XML 

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第2张图片

3.JSON: JavaScript Object Notation

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第3张图片

2.Interview:Roy Fielding - Understanding the REST Architecture

1.知乎上lvony关于REST结构的概括

URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

 

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第4张图片

3.eXtensible MarkUp Language - XML

1.XML 的诞生

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第5张图片

XML诞生的目的就是帮助各个信息系统间交换指定结构的数据

docx、pptx 中的x都代表XML,XML用于描述其文档结构

2.XML元素

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第6张图片

3.XML举列

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第7张图片

XML的各种属性不同于HTML,是可以根据需要自行设置的

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第8张图片

XML基本就是个树结构,像是文件夹目录/a/b/、/a/c/d

4.XML Schema

1.XML Schema定义

Python Web-第五周-Web Services and XML(Using Python to Access Web Data)_第9张图片

XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 可描述 XML 文档的结构。
XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。

2.XML Schema作用

定义可出现在文档中的元素
定义可出现在文档中的属性
定义哪个元素是子元素
定义子元素的次序
定义子元素的数目
定义元素是否为空,或者是否可包含文本
定义元素和属性的数据类型
定义元素和属性的默认值以及固定值

5.Parsing XML in Python

1.XML实例

http://www.pythonlearn.com/code.zip
import xml.etree.ElementTreeas ET
data ='''
<person>
<name>Chuck</name>
<phone type="intl">
+1 734 303 4456
</phone>
<email hide="yes"/>
</person>'''
tree = ET.fromstring(data)
print'Phone:',tree.find('phone').text
print'Phone Type:',tree.find('phone').get('type')
print'Attr:',tree.find('email').get('hide')
xml.etree 和 BeautifulSoup类似,但是BS是针对HTML 标签的
import xml.etree.ElementTreeas ET
input ='''
<stuff>
<users>
<user x="2">
<id>001</id>
<name>Chuck</name>
</user>
<user x="7">
<id>009</id>
<name>Brent</name>
</user>
</users>
</stuff>'''
stuff = ET.fromstring(input)
lst = stuff.findall('users/user')#return a list
print'User count:', len(lst)
for item in lst:
print'Name', item.find('name').text
print'Id', item.find('id').text
print'Attribute', item.get("x")

Words:

schema 架构
来自为知笔记(Wiz)

你可能感兴趣的:(Python Web-第五周-Web Services and XML(Using Python to Access Web Data))