据我所知,这个问题不是重复的,因为我已经找了好几天的解决办法,根本无法确定问题的答案。我试图使用Python从XML文档标记打印一个嵌套属性。我相信我遇到的错误与我试图从中获取信息的标签有多个属性有关。有什么方法可以指定我想要“第二个标签”中的“状态”值吗??非常感谢你的帮助。在
我的XML文档'测试.xml':
<?xml version="1.0" encoding="UTF-8"?>
<first-tag xmlns="http://somewebsite.com/" date-produced="20130703" lang="en" produced- by="steve" status="OFFLINE">
<second-tag country="US" id="3651653" lang="en" status="ONLINE">
</second-tag>
</first-tag>
我的Python文件:
^{pr2}$错误:
AttributeError: 'NoneType' object has no attribute 'get'
我不知道elementtree,但我会用ehp或easyhtmlparser这样做 这是链接。 http://easyhtmlparser.sourceforge.net/ 一个朋友告诉我这个工具,我还在学习那是相当好和简单。在
这里的问题是这里没有名为
second-tag
的标记。有一个名为{http://somewebsite.com/}second-tag
的标记。在你可以很容易地看到:
不兼容名称空间的XML解析器可能会做错事而忽略它,从而使代码正常工作。实际上,当您请求
second-tag
时,一个向后弯曲以友好(如BeautifulSoup
)的解析器将自动尝试{http://somewebsite.com/}second-tag
。但是ElementTree
两者都不是。在如果这还不是您需要了解的全部内容,那么您首先需要阅读关于名称空间的教程(可能是this one)。在
您在.find('second-tag')失败,而不是在.get上。在
为了你想要的,和你的习惯用语,beauthulsoup闪耀着光芒。在
相关问题 更多 >
编程相关推荐