日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BeautifulSoup操作xml文件

發布時間:2025/3/20 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BeautifulSoup操作xml文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BeautifulSoup操作html的介紹較為常見,可參考官方文檔,常見的對xml的操作可以使用ElementTree進行操作,這里并不是介紹BeautifulSoup操作xml,對自己在一次實踐中遇到的問題進行記錄。


問題:操作XML后,其中有多個結點,這里姑且以Id結點為例,需要替換一個其中一個Id結點,該Id結點可以通過父節點區分其他結點,因為ElementTree中可以使用iter()進行遍歷,可以很方邊的找到Id結點,但是我不知道如何找尋其父節點,最后想使用BeautifulSoup(),如果大家有什么方法,還望不吝賜教


<?xml version='1.0' encoding='UTF-8'?> <nvd xmlns="namesapce test"> <data><xtrn><Id>2019</Id></xtrn><country name="Liechtenstein"><rank>1</rank><Id>2008</Id><gdppc>141100</gdppc><tag>temp</tag><neighbor name="Austria" direction="E"/><neighbor name="Switzerland" direction="W"/></country><country name="中國"><rank>68</rank><Id>2011</Id><gdppc>13600</gdppc><neighbor name="趙三" direction="西邊"/><neighbor name="李四" direction="東北"/><temp information="bs4">bs4study</temp></country> </data> </nvd>

BeautifulSoup文檔中介紹解析xml文件的方法如下:

BeautifulSoup(markup, "xml")

Beautiful Soup將復雜HTML文檔轉換成一個復雜的樹形結構,每個節點都是Python對象,所有對象可以歸納為4種:?Tag?,?NavigableString?,?BeautifulSoup?,?Comment.

1.Tag結點

Tag?對象與XML或HTML原生文檔中的tag相同:

#-*-encoding:utf-8-*- from bs4 import BeautifulSoup soup = BeautifulSoup(open("websit.xml"),'xml') #打印文件對象信息 # print(soup) #打印tag結點 print(soup.tag) print(type(soup.tag))

在原文件中查找確實有“tag”結點,因此這里使用結點的時候可以直接使用文件對象.標簽的形式進行索引。

那文件對象兩個最重要的屬性就是name和attributes,對于大多數對于xml實際操作中,均是對標簽的屬性和name進行操作。

#-*-encoding:utf-8-*- from bs4 import BeautifulSoup soup = BeautifulSoup(open("websit.xml"),'xml')print("temp(tag):",soup.temp) print("temp(tag)name:",soup.temp.name) print("temp(tag)attribute:",soup.temp.attrs) #可以通過鍵值的形式查找 print("temp(tag)attribute:",soup.temp['information'])

注意tag標簽的屬性可以被添加,刪除或修改. 再說一次, tag的屬性操作方法與字典一樣

1.1 attibute

#替換屬性值 for index in soup.find_all("temp"):print type(index.attrs)if index.attrs.has_key("information"):index.attrs.update({"information":"8520"})

如果查找temp標簽,想要替換其attribute屬性,由于index.attrs為字典,可以通過鍵值的形式進行操作

1.2 name

字符串常被包含在tag內.Beautiful Soup用?NavigableString?類來包裝tag中的字符串,tag中包含的字符串不能編輯,但是可以被替換成其它的字符串,用?replace_with()?方法:

xml中有三個Id標簽,但是只想替換其父節點為xtrn的結點的name值,使用replace_with

for index in soup.find_all('Id'):#替換name值,只能使用replace_withif index.parent.name == "xtrn":print(index.text)index.string.replace_with("2020")

?

總結

以上是生活随笔為你收集整理的BeautifulSoup操作xml文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 影音先锋成人资源网站 | 嫩色av| 男人久久天堂 | 国产精品99久久久久久久女警 | 在线免费观看www | 国产视频手机在线播放 | 男女那个视频 | 精品无码一区二区三区在线 | 免费小视频 | 亚洲中文无码久久 | 老汉色av | 日韩精品免费一区二区三区 | 91情侣在线 | 国产精品国产三级国产aⅴ浪潮 | 欧美不卡网 | 蜜桃一区二区 | 国产一级一片免费播放放a 丁香六月色 | 国产精品91av | 无码人妻精品一区二区三区9厂 | 精品九九在线 | 欧美做受xxxxxⅹ性视频 | 玩日本老头很兴奋xxxx | 一本加勒比波多野结衣 | 少妇高潮21p | 天天操夜夜操狠狠操 | 日韩精品在线观看免费 | 成人在线国产 | 一级免费看片 | 少妇高潮喷水在线观看 | 天天操狠狠操 | 99热免费精品 | 99久久视频 | 91极品美女| 亚洲黄色a级片 | 婷婷综合亚洲 | 欧美一二在线 | 都市乱淫 | 免费裸体视频网站 | www.色在线观看 | 爱情岛论坛永久入址测速 | 97精品人妻一区二区三区在线 | 久久亚洲成人av | 91丝袜呻吟高潮美腿白嫩 | 国产视频精品久久 | 亚洲一区二区三区在线 | 欧美亚洲国产另类 | 邻居少妇张开双腿让我爽一夜 | 三级做爰在线观看视频 | 人人搞人人| 国产精品污www一区二区三区 | 黄色大片免费观看 | 樱花影院最新免费观看攻略 | 日本四级电影 | 综合免费视频 | 911精品 | 青青青国内视频在线观看软件 | 免费观看国产视频 | 夜夜爽影院 | 色综合av综合无码综合网站 | 欧美乱妇日本无乱码特黄大片 | 色香色香欲天天天影视综合网 | 中文字幕亚洲不卡 | 国模一区二区 | 亚洲国产欧洲 | 特大黑人娇小亚洲女mp4 | 美女扒开腿让男人捅 | 国产人妻一区二区三区四区五区六 | 亚洲男人影院 | 精品国产一二三区 | 久久久久人妻精品一区二区三区 | 成人性生活毛片 | 欧美久久久久久久久久久久 | 欧美中文字幕 | 国产一区二区高清 | 成年人免费在线观看视频网站 | 国产视频你懂得 | 爽好多水快深点欧美视频 | 亚洲视频中文字幕 | av免费网 | 亚洲天堂成人在线观看 | 亚洲国产精品视频一区 | 国产精品日 | 午夜久久久久久 | 一本一道精品欧美中文字幕 | 亚洲av区无码字幕中文色 | 国产精品欧美久久久久久 | 国产精品美女www爽爽爽视频 | 一级特黄肉体裸片 | 亚洲成人精品在线 | 精品国产一区二区三区四区精华 | 日韩国产网站 | 羞羞网站在线观看 | 九九精品视频免费 | 亚洲第一视频在线播放 | 亚洲午夜精品在线观看 | √天堂8资源中文在线 | 午夜视频在线观看一区二区 | 午夜不卡久久精品无码免费 | 欧美天堂网站 |