第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在元素樹中使用 xpath 搜索多個屬性

如何在元素樹中使用 xpath 搜索多個屬性

元芳怎么了 2022-09-27 15:15:09
我希望將以下值與 XML 文件隔離開來(https://digitallibrary.un.org/search?ln=en&p=A/RES/72/266&f=&rm=&ln=en&sf=&so=d&rg=50&c=United+Nations+Digital+Library+System&of=xm&fti=0&fti=0)。<collection>  <record>    ...    <datafield tag="993" ind1="2" ind2=" ">      <subfield code="a">A/C.5/72/L.22</subfield> # Value to isolate: A/C.5/72/L.22    </datafield>    <datafield tag="993" ind1="3" ind2=" ">      <subfield code="a">A/72/682</subfield> # Value to isolate: A/72/682    </datafield>    <datafield tag="993" ind1="4" ind2=" ">      <subfield code="a">A/72/PV.76</subfield> # Value to isolate: A/72/PV.76    </datafield>    ...  </record>  <record>    ...    <datafield tag="993" ind1="2" ind2=" ">      <subfield code="a">A/C.5/72/L.22</subfield> # Value to isolate: A/C.5/72/L.22    </datafield>    <datafield tag="993" ind1="3" ind2=" ">      <subfield code="a">A/72/682</subfield> # Value to isolate: A/72/682    </datafield>  </record>  ...</collection>我準(zhǔn)備的代碼似乎只為每條記錄標(biāo)識了帶有標(biāo)記 993 的第一項(xiàng)。for record in root:  if record.find("{http://www.loc.gov/MARC21/slim}datafield[@tag='993']/{http://www.loc.gov/MARC21/slim}subfield[@code='a']") is not None:    symbol = record.find("{http://www.loc.gov/MARC21/slim}datafield[@tag='993']/{http://www.loc.gov/MARC21/slim}subfield[@code='a']").text    print symbol有沒有辦法循環(huán)使用元素樹的xpath搜索多個屬性?提前感謝您。
查看完整描述

2 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個贊

要完成用戶3091877的答案,請備用 XPath 選項(xiàng):

//*[name()="subfield"][@code="a"][parent::*[@tag="993"]]/text()

編輯:這個將返回6個值(@tag = 993和@ind1 = 3):

//*[name()="subfield"][parent::*[@tag="993" and @ind1="3"]]/text()


查看完整回答
反對 回復(fù) 2022-09-27
?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個贊

文檔顯示 僅獲取第一個匹配的子元素。聽起來像你想要..find().findall()


以下似乎對我有用:


import xml.etree.ElementTree as ET

tree = ET.parse(input_file)

root = tree.getroot()


for record in root:

    xpath = "{http://www.loc.gov/MARC21/slim}datafield[@tag='993']/{http://www.loc.gov/MARC21/slim}subfield[@code='a']"

    if record.findall(xpath) is not None:

        for symbol in record.findall(xpath):

            print symbol.text


查看完整回答
反對 回復(fù) 2022-09-27
  • 2 回答
  • 0 關(guān)注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號