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