python解析xml文件如何读取所有<br />标签的内容?

问题可能描述得简单了点,我的xml文本有很多的br标签,我想获取br标签后的内容。<claim-text>1.一种与电子显示器通信并且用于控制淋浴出口的系统,所述系统<b... 问题可能描述得简单了点,我的xml文本有很多的br标签,我想获取br标签后的内容。
<claim-text>1.一种与电子显示器通信并且用于控制淋浴出口的系统,所述系统
<br />包括:
<br />下游的设备或控制器传播请求以及向与淋浴出口组相关的阀或阀控制器
<br />提供控制信号中的至少一个。
<br />扭、选择器开关等等。这些机械性的用户界面
<br />下游的设备或控制器传播请求以及向与淋浴出口组相关的阀或阀控制器
<br />提供控制信号中的至少一个。
<br /></claim-text>

用你的方法想写个循环获取所有的内容:
from xml.dom import minidom
doc = minidom.parse("201410447057NEW.xml")
root = doc.documentElement

claimtext = root.getElementsByTagName("claim-text")
br = claimtext[0].getElementsByTagName("br")
for i in range(0,len(br)):
print claimtext[0].childNodes[i+2].nodeValue

但是在print语句报了个错:TypeError: coercing to Unicode: need string or buffer, NoneType found
claimtext[0].childNodes[i+2].nodeValue 如果下标不用i直接用数字不会报错

大神你有什么办法能解决么?或者有其他更方便的方法获取所有br标签后的内容?求教。万分感谢。
展开
 我来答
我心我在
推荐于2017-10-12 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:631万
展开全部
claimtext = root.getElementsByTagName("claim-text")
for i in claimtext[0].childNodes:
    print i.nodeName  #你自己看哈 这里的 i.nodeName 有俩个类型 br #text ,所以取的时候加个类型判断吧 
    if  i.nodeName == '#text':
        print i.nodeValue
这玩意这么不好使 要不是 试试 beautifulsoup  这个html 解析标签 效果应该 嘎嘎的
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式