从所选子项返回父标记属性

时间:2015-06-19 13:50:41

标签: python xml xml-parsing beautifulsoup

<TAGS>    
  <PARENT ID="Parent Id">
     <MID>
      <CHILD ATTR="Child Value"

我有一段代码,它选择了某些xml对应于“Child Value”的所有属性值。

我还需要有“父母价值”来关联这两个项目,以备将来使用。

我的代码当前找到并检索子值,但是我很难从父ID中获取值。这个的正确语法是什么?

目前代码与此类似:

taglist = []
for parent in soup.find_all('tags'):
    for each in parent.find_all('child'):
        taglist.append(repr(each['attr']))

我希望在选择子项时,在此示例中检索PARENT ID值。

2 个答案:

答案 0 :(得分:0)

有相关的find_parent() method

child.find_parent("parent", id=True)["id"]

答案 1 :(得分:0)

因为标签我假设你正在使用python和beautifulsoup。如果是这样,哪个版本?

可以使用.parent,如:

http://www.crummy.com/software/BeautifulSoup/bs4/doc/#parents

child=soup.find("child", {"attr" : "value"})
for parent in child.parents:
    if parent.get('id')) == "Parent Id":
        print(parent)