이 글에서는 주로 Python 직렬화 기능의 xml을 자세히 소개하고 있는데, 관심 있는 친구들은
<diva_list> <diva name="hamasaki ayumi"> <state flop="yes">1</state> <year>1978</year> <album_sales_volume>27804358</album_sales_volume> <album name="A song for xx" sn="1st"/> <album name="LOVEppears" sn="2nd"/> </diva> <diva name="koda kumi"> <state flop="yes">2</state> <year>1982</year> <album_sales_volume>8273371</album_sales_volume> <album name="affection" sn="1st"/> <album name="grow into one" sn="2nd"/> </diva> </diva_list>
를 참조하세요. 위는 xml 텍스트를 처리하려는 경우의 예입니다. 텍스트를 사용하려면 모듈을 가져와야 합니다.
import xml.etree.ElementTree as ET
#xml 모듈 이름이 너무 길어서 ET라는 별칭을 붙여서 사용했습니다.
ET.parse()는 파일에서 직접 xml 텍스트를 읽고 xml 텍스트를 xml 트리 객체로 구문 분석합니다.
tree = ET.parse("diva.xml")
xml 트리의 루트 노드를 가져옵니다.
root = tree.getroot()
루트 노드의 레이블(이름)을 가져옵니다.
root.tag
#Traverse xml document
루트의 하위 항목:
print(child.tag, child.attrib)
for i in child:
print(i.tag,i.text)
주의하세요! xml 텍스트 아래의 하위 노드를 가져오려면 루트 노드를 통해 가져와야 합니다. 노드 뒤에 .tag를 추가하여 각 노드에 포함된 콘텐츠를 가져옵니다. node.attrib는 노드의 레이블에 존재하는 속성을 가져올 수 있습니다.
# 각 하위 노드의 album_sales_volume 태그에서 텍스트 콘텐츠를 가져옵니다.
for i in root.iter("album_sales_volume"):
print i.text
#레이블의 속성을 가져오려면 텍스트를 직접 변경하세요. 속성화하기 그게 다야.
수정:
root.iter('연도')의 노드:
new_year = int(node.text) + 1
node. text = str(new_year) # 콘텐츠 수정
node.set("flop","no") # 라벨 속성 수정.
tree.write("xmltest.xml")
삭제:
root.findall('country')의 국가:
순위 = int(country.find('rank').text)
순위가 50보다 큰 경우:
root.remove(country)
tree.write('output. xml')
root.findall()은 루트 노드부터 검색하여 지정된 이름을 가진 하위 노드를 찾는 데 사용됩니다.
root.remove()는 노드를 삭제하는 데 사용됩니다.
xml 텍스트를 생성합니다.
xml.etree.ElementTree를 ET로 가져오기
new_xml = ET.Element("namelist")
name = ET.SubElement(new_xml,"name",attrib= {"등록됨":"예"})
age = ET.SubElement(name,"age",attrib={"checked":"no"})
sex = ET. SubElement(name,"sex")
sex.text = '33'
name2 = ET.SubElement(new_xml,"name",attrib={"enrolled":"no"} )
age = ET.SubElement(name2,"age")
age.text = '19'
et = ET.ElementTree(new_xml) #문서 객체 생성
et.write("test.xml", 인코딩="utf-8",xml_declaration=True)
ET.dump(new_xml) #생성된 형식 인쇄
위 내용은 Python 직렬화 기능의 xml에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!