簡體   English   中英

使用來自 xml.dom.minidom 的 getElementsByTagName

[英]Using getElementsByTagName from xml.dom.minidom

我正在瀏覽 PyCon 2010 中 Asheesh Laroia 的“Scrape the Web”演示文稿,我對特定代碼行有疑問,即這一行:

title_element = parsed.getElementsByTagName('title')[0]

來自 function:

def main(filename):
    #Parse the file
    parsed = xml.dom.minidom.parse(open(filename))
    # Get title element
    title_element = parsed.getElementsByTagName('title')[0]
    # Print just the text underneath it
    print title_element.firstChild.wholeText

我不知道該行末尾的“[0]”扮演什么角色。 “xml.dom.minidom.parse”是否將輸入解析為列表?

parse()不返回列表; getElementsByTagName()可以。 您要求所有帶有<title>標簽的元素。 大多數標簽可以在文檔中出現多次,因此當您請求這些元素時,您會得到不止一個。 返回它們的明顯方法是作為列表或元組。

在這種情況下,您希望文檔中只有一個<title>標記,因此您只需獲取列表中的第一個元素。

此方法的 ( getElementsByTagName ) 文檔說:

搜索具有特定元素類型名稱的所有后代(直接子代、子代的子代等)。

既然它提到了“所有后代”,那么是的,很相似,它返回一個列表,該代碼只是索引以查看第一個元素。

查看此方法的代碼(在Lib/xml/dom/minidom.py中)——它確實返回了一個列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM