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>")

时间: 2024-10-21 17:00:16

pyhton与json,Xml的相关文章

JSON &amp; XML 简析

转载自:http://my.oschina.net/aofe/blog/269260 JSON: XML: JSON格式说明: HTML & XML 的对比 HTML: XML: HTML5新特性: NSXMLParser解析方法: SAX(Simple API for XML)特点: DOM(Document Object Model)特点: NSXMLParser解析过程: XML目前应用场景: JSON & XML JSON: JSON是基于JavaScript的一个子集: 作为一种

JSON/XML序列化与反序列化(非构造自定义类)

隔了很长时间再重看自己的代码,觉得好陌生..以后要养成多注释的好习惯..直接贴代码..对不起( ▼-▼ ) 保存保存:进行序列化后存入应用设置里 ApplicationDataContainer _appSettings = ApplicationData.Current.LocalSettings; //这个是保存一些页面输入信息 private async void Save_Click(object sender, RoutedEventArgs e) { if (userName.Tex

JSON&amp;XML 解析总结

JSON & XML解析 JSON(数据传输): JSON具有对象(字典)和数组两种数据格式.字典用“{}”,数组用“[]”.其实也是key-value(字符串,数值,布尔类型,对象,空对象,数组)键值对. JSON 可以与Object-C相互转换  ->则是JSON的解析过程(正向与逆向的解析-为了说明自己定义的正逆)->可用于数据的持久化,将JSON数据写入文件中保存(逆向):从文件中读出数据(正向). JSON ->Object-C(正向):jsondata->jso

protobuf,json,xml,binary,Thrift之间的对比

http://blog.csdn.net/angus_17/article/details/8493448 binary 二进制,数据流,也可以转化成 1100011类似的 protobuf 是google的,二进制的数据传输协议,性能比 xml 和 json 号. 但 可读性 差 Thrift 是 FackBook的,性能 比 protobuf还好 一条消息数据,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一,总体看来ProtoBuf

JSON&&XML以及XML解析的常用方法

JSONJSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.可在不同平台之间进行数据交换.JSON采用兼容性很高的.完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为.这些特性使JSON成为理想的数据交换语言.  XML扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件

2Python进阶强化训练之csv|json|xml|excel高

Python进阶强化训练之csv|json|xml|excel高 如何读写csv数据? 实际案例 我们可以通过http://table.finance.yahoo.com/table.csv?s=000001.sz,这个url获取中国股市(深市)数据集,它以csv数据格式存储: Date,Open,High,Low,Close,Volume,Adj Close 2016-09-15,9.06,9.06,9.06,9.06,000,9.06 2016-09-14,9.17,9.18,9.05,9.

使Asp.net Core同时支持输出Json/Xml

我们知道Asp.net Core是支持输出为Json格式的.同时也支持输出为xml格式.只要我们正确的配置.并在Request时指定正确的Accept,即可根据不同的Header来输出不同的格式. 前几天看Jessite4.0读其日志,又看到这段文字 所有连接加 .json 或 .xml 或增加 __ajax=json 参数,或增加 __ajax=xml 参数,则自动返回 json 或 xml 数据,而不返回视图 于是在想,我们能不能提供下Asp.net Core中这种功能.最笨的办法,当然是在

C# 序列化与反序列化Serialization之Json Xml Binary Soap JavaScript序列化

所谓的序列化其实就是把一个内存中的对象信息转化成一个可以持久化保存的形式,方便保存数据库和文件或着用于传输, 序列化的主要作用是不同平台之间进行通信与信息的传递保存等,常用的有序列化有Json Xml Binary Soap JavaScript序列化等,当然我们也可以使用第三方的序列化类库,第三方的序列化类库可以参照网上的,这里不再赘述, 本文主要介绍Json Xml Binary Soap JavaScript等6种序列化的方法, 添加引用以下类库 using System.Runtime.

Java编程的逻辑 (63) - 实用序列化: JSON/XML/MessagePack

上节,我们介绍了Java中的标准序列化机制,我们提到,它有一些重要的限制,最重要的是不能跨语言,实践中经常使用一些替代方案,比如XML/JSON/MessagePack. Java SDK中对这些格式的支持有限,有很多第三方的类库,提供了更为方便的支持,Jackson是其中一种,它支持多种格式,包括XML/JSON/MessagePack等,本文就来介绍如果使用Jackson进行序列化.我们先来简单了解下这些格式以及Jackson. 基本概念 XML/JSON都是文本格式,都容易阅读和理解,格式