pythonelementtree
⑴ 在python中用ElementTree提取XML中的內容
fromxml.etreeimportElementTree
str_=''#文件中的xml字元串
xml_obj=ElementTree.fromstring(str_)
然後通過對xml_obj進行操作,xml_obj本身也是一個xml節點。
xml_obj.getchildren() 獲取根節點的子節點列表
xml_obj.findall(node_name) 搜索xml_obj節點下名為node_name的所有節點
xml_obj.tag 節點的標簽
xml_obj.text 節點的文本信息 ,本例中可以獲得K這個文本。
xml_obj.tail 節點尾部的文本信息,本例中獲取Channel Regulator KCR1 Suppresses Heart Rhythm by Molating the Pacemaker Current I
就需要搜索到標簽為sup的節點,然後取節點的tail文本獲得。
⑵ 鎬庢牱浼橀泤瑙e喅 python 瑙f瀽 xml gb2312 緙栫爜鐨勯棶棰
python ElementTree澶勭悊gbk錛堟垨鑰単b2312錛夌紪鐮佺殑XML鏂囦歡鐨勬柟娉曪細
1錛宲y鏂囦歡鐨勭紪鐮佹槸utf-8錛屽嵆鍦ㄦ枃浠舵渶寮濮嬫湁濡備笅璇鍙ュ0鏄庣紪鐮佹柟寮忥細
#-*-coding: utf-8-*-
2錛岃誨彇鏂囦歡鍐呭規椂杞鐮佷負utf-8鐨勶細
xml_file_text = open(xml_file_name).read().decode('gbk').encode('utf-8')
榪欐牱鍦ㄥ勭悊榪囩▼涓鍧囨槸utf-8緙栫爜鐨勫瓧絎︿覆
⑶ 求大神指教:如何用python讀取xml文件中指定標簽的文檔內容並將其修改最好寫下詳細代碼,非常感謝哈!
使用python自帶的ElementTree模塊,給你個例子你就知道了
xml文檔
<?xml version="1.0" encoding="utf-8"?>
<config>
<id>0</id>
<log_path>E:/Python</log_path>
</config>
Python 代碼,修改id節的內容
from xml.etree import ElementTree
xml_file='config.xml'
xml=ElementTree.ElementTree(file=xml_file).getroot()
xml.find('id').text=1
⑷ python鍦▁ml鏌ユ壘瀛︾敓瀵瑰簲鍙風爜
鍦≒ython涓錛屽彲浠ヤ嬌鐢ㄨ稿氬簱鏉ヨВ鏋愬拰澶勭悊XML鏁版嵁銆傚叾涓涓涓甯哥敤鐨勫簱鏄痐xml.etree.ElementTree`銆傝佸湪XML涓鏌ユ壘瀛︾敓瀵瑰簲鐨勫彿鐮侊紝鍙浠ユ寜鐓т互涓嬫ラよ繘琛屾搷浣滐細
1. 瀵煎叆鎵闇鐨勫簱錛
```python
import xml.etree.ElementTree as ET
```
2. 瑙f瀽XML鏂囦歡錛
```python
tree = ET.parse('file.xml') # 浣跨敤瀹為檯鐨刋ML鏂囦歡璺寰勬浛鎹'file.xml'
root = tree.getroot()
```
3. 閬嶅巻XML鏍戜互鏌ユ壘瀛︾敓淇℃伅錛
```python
for student in root.findall('student'):
name = student.find('name').text
phone = student.find('phone').text
# 鍦ㄨ繖閲屾牴鎹鍏蜂綋鐨勯渶奼傦紝鍙浠ュ瑰︾敓淇℃伅榪涜岃繘涓姝ュ勭悊鎴栨墦鍗拌緭鍑
```
浠ヤ笂浠g爜鍋囪綳ML鏂囦歡鐨勭粨鏋勭被浼間簬錛
```xml
```
璇鋒敞鎰忥紝涓婅堪浠g爜浠呭睍紺轟簡鍩烘湰鐨刋ML瑙f瀽鏂規硶銆傚叿浣撳疄鐜板彲鑳介渶瑕佹牴鎹浣犵殑瀹為檯鎯呭喌榪涜岄傚綋鐨勮皟鏁村拰淇鏀廣
⑸ Python編寫一個程序以嘗試解析XML/HTML標簽.
要給這段文字添加一個 root 標簽,然後對裡面的 node 進行遍歷。root 標簽的名字可以任意定(但是必須添加一個),我這里使用的 root 命名,對於其它的名字也一樣。如果你是直接讀取的 XML 文件,而不是字元串,可以將文件打開,然後把文件句柄傳入 ElementTree.parse() 函數,最後對其返回值進行遍歷。
fromxml.etreeimportElementTree
parsed=ElementTree.XML('''<root>
<composer>WolfgangAmadeusMozart</composer><author>SamuelBeckett</author><city>London</city>
</root>''')
outstr=[]
fornodeinparsed:
outstr+=['%s:%s'%(node.tag,node.text)]
print(''.join(outstr))