Rak*_*esh 0 python xml storage
是否可以将XML文件中的数据存储到python中的列表中.例如,我有一个包含以下内容的XML文件:
<brochure>
<onlinePath>http://EEE</onlinePath>
<downloadPath>http://YYY</downloadPath>
<Name>ABC</Name>
<AAA>
<P>JPG</P>
<Q>JPG</Q>
</AAA>
</brochure>
<brochure>
<onlinePath>http://EKK</onlinePath>
<downloadPath>http://XXX</downloadPath>
<Name>DEF</Name>
<AAA>
<P>JPG</P>
<Q>JPG</Q>
</AAA>
</brochure>
Run Code Online (Sandbox Code Playgroud)
是否可以存储到python列表中,如:
onlinePath = ("http://EEE", "http://EKK")
Name = ("ABC", "DEF")
Run Code Online (Sandbox Code Playgroud)
import lxml
xml = """
<brochures>
<brochure>
<onlinePath>http://EEE</onlinePath>
<downloadPath>http://YYY</downloadPath>
<Name>ABC</Name>
<AAA>
<P>JPG</P>
<Q>JPG</Q>
</AAA>
</brochure>
<brochure>
<onlinePath>http://EKK</onlinePath>
<downloadPath>http://XXX</downloadPath>
<Name>DEF</Name>
<AAA>
<P>JPG</P>
<Q>JPG</Q>
</AAA>
</brochure>
</brochures>
"""
root = lxml.etree.fromstring(xml)
mylist = root.xpath('//brochure/onlinePath/text()')
Run Code Online (Sandbox Code Playgroud)
结果是
['http://EEE', 'http://EKK']
Run Code Online (Sandbox Code Playgroud)
笔记:
我将你的xml包装在<brochures> </ brochures>中,使其成为树而不是森林(即单根节点);
如果要从文件而不是字符串中读取,请使用lxml.etree.parse()而不是lxml.etree.fromstring()
| 归档时间: |
|
| 查看次数: |
13743 次 |
| 最近记录: |