在前面介绍的解析XML的方法都是利用Python标准库中的API来实现的,即ElementTree和DOM。不过貌似都觉得不是非常直观。因此,这里我们引入一个第三方库来更方便的完成需求 —— BeautifulSoup。
BeautifulSoup是一个功能强劲的用于解析HTML/XML的模块。还是以之前的例子切入:
<?xml version="1.0" encoding="utf-8"?> <CSubmitState xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/"> <State>0</State> <MsgID>1311211532361125903</MsgID> <MsgState>提交成功</MsgState> <Reserve>0</Reserve> </CSubmitState>
接下来就使用BeautifulSoup进行解析:
soup = BeautifulSoup(xml)
再然后,我们只需“一点到底”即可:
>>> soup.state.text u'0' >>> soup.msgid.text u'1311211532361125903'
是不是非常方便呢。
这只是很简单的需求,因此在BeautifulSoup的功能上我们实际也只是接触了冰山一角而已。更多的探索可以参考其官方文档。