在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ Python XML解析。

Python XML解析。

遇到這種XML解析不知該如何下手,請(qǐng)教一下。

<?xml version="1.0" encoding="utf-8"?>

<string xmlns="http://tempuri.org/&quot;>
<option value="">請(qǐng)選擇大區(qū)</option>
<option value="4011">微信1區(qū)-絢爛刀鋒</option>
<option value="4012">微信2區(qū)-智慧之拳</option>
<option value="4013">微信3區(qū)-大唐名探</option>
<option value="4014">微信4區(qū)-冰雪之華</option>
<option value="4015">微信5區(qū)-逆流之時(shí)</option>
<option value="4016">微信6區(qū)-破釜沉舟</option>
<option value="4017">微信7區(qū)-天命之女</option>
<option value="4018">微信8區(qū)-女帝輝光</option>
<option value="4019">微信9區(qū)-女帝威嚴(yán)</option>
<option value="4020">微信10區(qū)-生殺予奪</option>
<option value="4021">微信11區(qū)-師道尊嚴(yán)</option>
<option value="4022">微信12區(qū)-圣人訓(xùn)誡</option>
<option value="4023">微信13區(qū)-圣人之威</option>
<option value="4024">微信14區(qū)-舍生忘死</option>
</string>

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

要求解析的結(jié)果:4011  ---  微信1區(qū)-絢爛刀鋒

圖片描述

回答
編輯回答
吢丕

用bs4解析:

from bs4 import BeautifulSoup

s = """<?xml version="1.0" encoding="utf-8"?>

<string xmlns="http://tempuri.org/&quot;> 
<option value="">請(qǐng)選擇大區(qū)</option>
<option value="4011">微信1區(qū)-絢爛刀鋒</option>
<option value="4012">微信2區(qū)-智慧之拳</option>
<option value="4013">微信3區(qū)-大唐名探</option>
<option value="4014">微信4區(qū)-冰雪之華</option>
<option value="4015">微信5區(qū)-逆流之時(shí)</option>
<option value="4016">微信6區(qū)-破釜沉舟</option>
<option value="4017">微信7區(qū)-天命之女</option>
<option value="4018">微信8區(qū)-女帝輝光</option>
<option value="4019">微信9區(qū)-女帝威嚴(yán)</option>
<option value="4020">微信10區(qū)-生殺予奪</option>
<option value="4021">微信11區(qū)-師道尊嚴(yán)</option>
<option value="4022">微信12區(qū)-圣人訓(xùn)誡</option>
<option value="4023">微信13區(qū)-圣人之威</option>
<option value="4024">微信14區(qū)-舍生忘死</option>
</string>"""

root = BeautifulSoup(s)
results = '\n'.join(
    n.attrs['value'] + ' --- ' + n.text
    for n in root.select("option")
)
print(results)

用正則解析:

import re

s = """<?xml version="1.0" encoding="utf-8"?>

<string xmlns="http://tempuri.org/&quot;> 
<option value="">請(qǐng)選擇大區(qū)</option>
<option value="4011">微信1區(qū)-絢爛刀鋒</option>
<option value="4012">微信2區(qū)-智慧之拳</option>
<option value="4013">微信3區(qū)-大唐名探</option>
<option value="4014">微信4區(qū)-冰雪之華</option>
<option value="4015">微信5區(qū)-逆流之時(shí)</option>
<option value="4016">微信6區(qū)-破釜沉舟</option>
<option value="4017">微信7區(qū)-天命之女</option>
<option value="4018">微信8區(qū)-女帝輝光</option>
<option value="4019">微信9區(qū)-女帝威嚴(yán)</option>
<option value="4020">微信10區(qū)-生殺予奪</option>
<option value="4021">微信11區(qū)-師道尊嚴(yán)</option>
<option value="4022">微信12區(qū)-圣人訓(xùn)誡</option>
<option value="4023">微信13區(qū)-圣人之威</option>
<option value="4024">微信14區(qū)-舍生忘死</option>
</string>"""

pattern = '<option value="(\w+)">([\w-]+)</option>'
results = '\n'.join(
    n[0] + ' --- ' + n[1]
    for n in re.findall(pattern, s)
)
print(results)

運(yùn)行結(jié)果:

4011 --- 微信1區(qū)-絢爛刀鋒
4012 --- 微信2區(qū)-智慧之拳
4013 --- 微信3區(qū)-大唐名探
4014 --- 微信4區(qū)-冰雪之華
4015 --- 微信5區(qū)-逆流之時(shí)
4016 --- 微信6區(qū)-破釜沉舟
4017 --- 微信7區(qū)-天命之女
4018 --- 微信8區(qū)-女帝輝光
4019 --- 微信9區(qū)-女帝威嚴(yán)
4020 --- 微信10區(qū)-生殺予奪
4021 --- 微信11區(qū)-師道尊嚴(yán)
4022 --- 微信12區(qū)-圣人訓(xùn)誡
4023 --- 微信13區(qū)-圣人之威
4024 --- 微信14區(qū)-舍生忘死
2017年9月21日 10:53