zoukankan      html  css  js  c++  java
  • Python Web-第五周-Web Services and XML(Using Python to Access Web Data)

    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 架构
  • 相关阅读:
    ....
    CodeForces 375A(同余)
    POJ 2377 Bad Cowtractors (最小生成树)
    POJ 1258 AgriNet (最小生成树)
    HDU 1016 Prime Ring Problem(全排列)
    HDU 4460 Friend Chains(bfs)
    POJ 2236 Wireless Network(并查集)
    POJ 2100 Graveyard Design(尺取)
    POJ 2110 Mountain Walking(二分/bfs)
    CodeForces 1059B Forgery(模拟)
  • 原文地址:https://www.cnblogs.com/moonache/p/5112109.html
Copyright © 2011-2022 走看看