久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何使用 BeautifulSoup 訪問命名空間的 XML 元素?

How can I access namespaced XML elements using BeautifulSoup?(如何使用 BeautifulSoup 訪問命名空間的 XML 元素?)
本文介紹了如何使用 BeautifulSoup 訪問命名空間的 XML 元素?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我有一個(gè)這樣的 XML 文檔:

I have an XML document which reads like this:

<xml>
<web:Web>
<web:Total>4000</web:Total>
<web:Offset>0</web:Offset>
</web:Web>
</xml>

我的問題是如何使用 Python 中的 BeautifulSoup 之類的庫來訪問它們?

my question is how do I access them using a library like BeautifulSoup in python?

xmlDom.web["Web"].Total ?不工作?

xmlDom.web["Web"].Total ? does not work?

推薦答案

BeautifulSoup is't 一個(gè) DOM 庫本身(它不實(shí)現(xiàn) DOM API).更復(fù)雜的是,您在該 xml 片段中使用命名空間.要解析特定的 XML,您可以使用 BeautifulSoup,如下所示:

BeautifulSoup isn't a DOM library per se (it doesn't implement the DOM APIs). To make matters more complicated, you're using namespaces in that xml fragment. To parse that specific piece of XML, you'd use BeautifulSoup as follows:

from BeautifulSoup import BeautifulSoup

xml = """<xml>
  <web:Web>
    <web:Total>4000</web:Total>
    <web:Offset>0</web:Offset>
  </web:Web>
</xml>"""

doc = BeautifulSoup( xml )
print doc.find( 'web:total' ).string
print doc.find( 'web:offset' ).string

如果您不使用命名空間,代碼可能如下所示:

If you weren't using namespaces, the code could look like this:

from BeautifulSoup import BeautifulSoup

xml = """<xml>
  <Web>
    <Total>4000</Total>
    <Offset>0</Offset>
  </Web>
</xml>"""

doc = BeautifulSoup( xml )
print doc.xml.web.total.string
print doc.xml.web.offset.string

這里的關(guān)鍵是 BeautifulSoup 對(duì)命名空間一無所知(或關(guān)心).因此 web:Web 被視為 web:web 標(biāo)記,而不是屬于 ewebWeb 標(biāo)記> 命名空間.雖然 BeautifulSoup 將 web:web 添加到 xml 元素字典中,但 python 語法不會(huì)將 web:web 識(shí)別為單個(gè)標(biāo)識(shí)符.

The key here is that BeautifulSoup doesn't know (or care) anything about namespaces. Thus web:Web is treated like a web:web tag instead of as a Web tag belonging to th eweb namespace. While BeautifulSoup adds web:web to the xml element dictionary, python syntax doesn't recognize web:web as a single identifier.

您可以通過閱讀文檔了解更多信息.

You can learn more about it by reading the documentation.

這篇關(guān)于如何使用 BeautifulSoup 訪問命名空間的 XML 元素?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Troubles while parsing with python very large xml file(使用 python 解析非常大的 xml 文件時(shí)出現(xiàn)問題)
Find all nodes by attribute in XML using Python 2(使用 Python 2 在 XML 中按屬性查找所有節(jié)點(diǎn))
Python - How to parse xml response and store a elements value in a variable?(Python - 如何解析 xml 響應(yīng)并將元素值存儲(chǔ)在變量中?)
How to get XML tag value in Python(如何在 Python 中獲取 XML 標(biāo)記值)
How to correctly parse utf-8 xml with ElementTree?(如何使用 ElementTree 正確解析 utf-8 xml?)
Parse XML from URL into python object(將 XML 從 URL 解析為 python 對(duì)象)
主站蜘蛛池模板: 羞羞涩涩在线观看 | 国产乱码精品一区二三赶尸艳谈 | 亚洲精品片| 精品一区二区三区在线观看 | 国产一区二区三区免费观看视频 | 精品乱子伦一区二区三区 | 在线观看中文字幕一区二区 | 精区3d动漫一品二品精区 | 日韩国产免费观看 | 国产午夜精品视频 | 午夜国产一级 | 91精品国产高清一区二区三区 | 久久综合九九 | 亚洲欧美综合精品久久成人 | 蜜桃一区二区三区 | 国产在线精品一区二区 | 国产日产精品一区二区三区四区 | 久久久久久成人 | 日韩精品久久久久 | 中文字幕福利视频 | 九九综合 | 久久精品二区 | 欧美在线播放一区 | www精品| 国产在线中文字幕 | 欧美日韩国产一区二区 | 日韩久久久久久久 | 欧美日韩中文在线观看 | 久久久久国产一区二区三区不卡 | 怡红院免费的全部视频 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 精品久久一区 | 国产精品久久久久久久久久不蜜臀 | 欧美日韩国产在线 | 中文字幕一区在线 | 亚洲色综合 | 国产美女福利在线观看 | 91视频导航| 久久精品这里 | 国产成人福利在线观看 | 久久精品日产第一区二区三区 |