在python中解析XML文件

时间:2017-07-07 20:31:14

标签: python xml xml.etree

    import requests
    import xml.etree.ElementTree as ET


    def abc(area_code, office_code): 
        args = area_code + office_code
     url = (described bellow)
     r = requests.get(url=url)
     tree=ET.ElementTree()
     parsed_data=tree.parse(r.content)
      return parsed_data

   abc('503', '402')

其中url是

url="http://www.networksolutions.ds.adp.com/NSPhoneToolDB/template/GetBusRouteFilterExpressions.xml?"\
               "Telnum=" +args+ "&FilterNamePrefix=ORPORTCDK&ReturnResult=detail"

当我运行这件事时,我正在

<Element 'GetBusRouteFilterExpressions' at 0x7f2abf526f48>  

作为输出而不是整个文件。

3 个答案:

答案 0 :(得分:1)

你自己给它一个响应对象。

尝试为其提供响应的内容,如parsed_data=tree.parse(r.content)

答案 1 :(得分:1)

当您在python中发出请求时,您将返回一个响应对象。您需要解析该响应的正文。所以

tree.parse(r.content)

答案 2 :(得分:0)

阅读并尝试

中的示例
  

ElementTree XML API:20.5.1.2. Parsing XML

     

作为元素,root具有标记和属性字典:

vector<vector<int>> v(10)
     

它还有子节点,我们可以迭代它们:

    \>>> root.tag
    'data'
    \>>> root.attrib
    {}
     

子项是嵌套的,我们可以通过索引访问特定的子节点:

    \>>> for child in root:
    ...     print(child.tag, child.attrib)
    ...
    country {'name': 'Liechtenstein'}
    country {'name': 'Singapore'}
    country {'name': 'Panama'}