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

如何使用 regexp + Python 從 XML 中獲取指定標(biāo)簽屬性

How to get value of specified tag attribute from XML using regexp + Python?(如何使用 regexp + Python 從 XML 中獲取指定標(biāo)簽屬性的值?)
本文介紹了如何使用 regexp + Python 從 XML 中獲取指定標(biāo)簽屬性的值?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我有一個(gè)解析一些 xml 的腳本.XML 包含:

I have a script that parses some xml. XML contains:

<SD TITLE="A" FLAGS="" HOST="9511.com">
<TITLE TEXT="9511 domain"/>
<ADDR STREET="Pmb#400, San Pablo Ave" CITY="Berkeley" STATE="CA" COUNTRY="US"/>
<CREATED DATE="13-Oct-1990" DAY="13" MONTH="10" YEAR="1990"/>
<OWNER NAME="9511.Org Domain Name Proxy Agents"/>
<EMAIL ADDR="proxy@9511.org"/><LANG LEX="en" CODE="us-ascii"/>
<LINKSIN NUM="75"/><SPEED TEXT="3158" PCT="17"/>
<CHILD SRATING="0"/>
</SD>
<SD>
<POPULARITY URL="9511.com/" TEXT="1417678" SOURCE="panel"/>
</SD>

如何獲取標(biāo)簽的'TEXT'屬性值(在我的例子中是1417678)?我正在使用正則表達(dá)式+Python.正則表達(dá)式字符串:

How to get the 'TEXT' attribute value of tag(in my case 1417678)? I'm using regexp+Python. Regexp string:

my_value = re.findall("POPULARITY[^d]*(d+)", xml)

我收到了9511",但我需要1417678".

It gets to me '9511' but i need '1417678'.

推薦答案

您只是匹配出現(xiàn)在元素名稱之后的第一個(gè)十進(jìn)制數(shù)字序列.在任意數(shù)量的非數(shù)字 '[^d]*' 之后的第一個(gè)數(shù)字序列 '(d+)'9511.

You are just matching the first sequence of decimal digits that occurs after the element's name. The first sequence of digits '(d+)' after a arbitrary number of non-digits '[^d]*' is 9511.

為了findall @TEXT 屬性的值,這樣的事情會(huì)起作用:

In order to findall values of @TEXT attributes, something like this would work:

my_values = re.findall("<POPULARITY(?:D+="S*")*s+TEXT="(d*)"", xml) # returning a list btw

或者,如果除了 @TEXT 之外沒有其他屬性將具有純數(shù)字值:

Or, if no other attributes will have digit-only values except @TEXT:

 re.findall("<POPULARITYs+(?:S+s+)*w+="(d+)"", xml)

(?:...) 與包含的表達(dá)式匹配,但不像 (...) 那樣充當(dāng)可尋址組.特殊序列 SD 是它們對(duì)應(yīng)的小寫字母的反轉(zhuǎn),分別擴(kuò)展到(除了)空格和數(shù)字.

Where (?:...) matches the embraced expression, but doesn't act as an addressable group, like (...). The special sequences S and D are the invertions of their lowercase counterparts, expanding to (anything but) whitespace and digits, respectively.

但是,正如已經(jīng)提到的,正則表達(dá)式不適用于 XML,因?yàn)?XML 不是常規(guī)語言.

However, like already mentioned, regex are not meant to be used on XML, because XML is not a regular language.

這篇關(guān)于如何使用 regexp + Python 從 XML 中獲取指定標(biāo)簽屬性的值?的文章就介紹到這了,希望我們推薦的答案對(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ì)象)
主站蜘蛛池模板: 欧美日韩久久 | 日韩午夜av | 日韩午夜片| 香蕉视频免费看 | 国产精品国产三级国产 | 五月婷婷婷| 高清一区二区 | 国产高清在线观看 | 永久免费看片在线播放 | av免费在线观看网站 | 中文字幕在线免费看 | 国产精品美女在线 | 日韩国产精品一区二区 | 欧美久久久久久久久 | 午夜精品久久久久久久久久蜜桃 | 国产精品一级二级 | 亚洲精品久 | 国产精品五区 | 久久久久久久久久国产 | 久久午夜影院 | 欧美顶级黄色大片免费 | 亚洲视频一区在线观看 | 拍床戏真做h文黄肉1v1 | 午夜激情网站 | 精品视频一区二区三区四区 | 18岁毛片 | 日韩理论在线 | 男女裸体无遮挡做爰 | 色福利网 | 国产伦精品一区二区三区视频我 | 99国产在线观看 | 国产一区二区在线观看视频 | av免费在线观看网站 | 三级a毛片| 日本一级大毛片a一 | 免费一级黄色录像 | 久久手机视频 | 免费黄色网页 | 一区在线播放 | 91片黄在线观看 | 天天射一射 |