• 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 架构
  • 相关阅读:
    Java JDBC 连接ORACLE ORA-12505错误解决方法
    SqlServer 打开/关闭列自增
    【小程序】倒计时
    【MySQL 主从同步延迟的原因及解决办法】
    【Linux Mysql主从配置】整理主从配置遇到的坑!
    关于post和get传递参数的区别
    CSS基础属性介绍
    js-06-字符串
    js-07-事件
    js-08-数组学习
  • 原文地址:https://www.cnblogs.com/moonache/p/5112109.html
Copyright © 2020-2023  润新知