1.Web Service Overview
1.Data on the Web
Python Dictionary 和 Java HashMap间需要建立一个桥梁,可以用XML或是JSON
2.XML
3.JSON: JavaScript Object Notation
2.Interview:Roy Fielding - Understanding the REST Architecture
1.知乎上lvony关于REST结构的概括
URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。
3.eXtensible MarkUp Language - XML
1.XML 的诞生
XML诞生的目的就是帮助各个信息系统间交换指定结构的数据
docx、pptx 中的x都代表XML,XML用于描述其文档结构
2.XML元素
3.XML举列
XML的各种属性不同于HTML,是可以根据需要自行设置的
XML基本就是个树结构,像是文件夹目录/a/b/、/a/c/d
4.XML Schema
1.XML Schema定义
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 架构