• pyhton与json,Xml


    对简单数据类型的encoding 和 decoding:

    使用简单的json.dumps方法对简单数据类型进行编码,例如:

    1
    2
    3
    4
    5
    6
    import json
     
    obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}]
    encodedjson = json.dumps(obj)
    print repr(obj)
    print encodedjson

     

    from xml.etree import ElementTree

    def print_node(node):
        '''打印结点基本信息'''
        print "=============================================="
        print "node.attrib:%s" % node.attrib
        if node.attrib.has_key("age") > 0 :
            print "node.attrib['age']:%s" % node.attrib['age']
        print "node.tag:%s" % node.tag
        print "node.text:%s" % node.text
    def read_xml(text):
        '''读xml文件'''
        # 加载XML文件(2种方法,一是加载指定字符串,二是加载指定文件)   
        # root = ElementTree.parse(r"D:/test.xml")
        root = ElementTree.fromstring(text)
         
        # 获取element的方法
        # 1 通过getiterator
        lst_node = root.getiterator("person")
        for node in lst_node:
            print_node(node)
             
        # 2通过 getchildren
        lst_node_child = lst_node[0].getchildren()[0]
        print_node(lst_node_child)
             
        # 3 .find方法
        node_find = root.find('person')
        print_node(node_find)
         
        #4. findall方法
        node_findall = root.findall("person/name")[1]
        print_node(node_findall)
         
    if __name__ == '__main__':
         read_xml(open("test.xml").read())

    from xml.etree import ElementTree
    def print_node(node):

    print "=============================================="
    print "node.attrib:%s" % node.attrib
    if node.attrib.has_key("age") > 0 :
    print "node.attrib['age']:%s" % node.attrib['age']
    print "node.tag:%s" % node.tag
    print "node.text:%s" % node.text
    def read_xml(text):


    # root = ElementTree.parse(r"<xml><name>wc</name></xml>")
    root = ElementTree.fromstring(text)


    lst_node = root.getiterator("person")
    for node in lst_node:
    print_node(node)

    lst_node_child = lst_node[0].getchildren()[0]
    print_node(lst_node_child)


    node_find = root.find('person')
    print_node(node_find)

    node_findall = root.findall("person/name")[1]
    print_node(node_findall)

    if __name__ == '__main__':
    #read_xml(open("test.xml").read())
    read_xml("<person><name>wc</name></person>")

  • 相关阅读:
    bzoj 1911: [Apio2010]特别行动队
    bzoj 1096: [ZJOI2007]仓库建设
    bzoj 3522: [Poi2014]Hotel
    bzoj 3572: [Hnoi2014]世界树
    bzoj 1177: [Apio2009]Oil
    bzoj 1912: [Apio2010]patrol 巡逻
    bzoj 3573: [Hnoi2014]米特运输
    bzoj 3997: [TJOI2015]组合数学
    cf 506 A. Mr. Kitayuta, the Treasure Hunter
    cf 500 D. New Year Santa Network
  • 原文地址:https://www.cnblogs.com/wcLT/p/4307676.html
Copyright © 2020-2023  润新知