我有如下所示的 XML 数据:
<xml>
The captial of <place pid="1">South Africa</place> is <place>Pretoria</place>.
</xml>
Run Code Online (Sandbox Code Playgroud)
我希望能够提取:
(3) 是目前最重要的要求;etree 提供 (1) 罚款。
我看不出有什么方法可以直接做(3),但希望遍历文档树中的元素会返回许多可以重新组装的小字符串,从而提供(2)和(3)。但是,请求根节点的 .text 只会返回根节点和第一个元素之间的文本,例如“The capital of”。
用 SAX 做 (1) 可能涉及实现很多已经写过很多次的东西,例如 minidom 和 etree。使用 lxml 不是此代码要进入的包的选项。有人可以帮忙吗?
我想用Orange包进行科学分析.安装x86_64 Ubuntu 12.04,使用Python 2.7.3,顺利,使用sudo easy_install orange.但是,该软件包似乎不能直接使用:
11:30:43 leon@t410i:~$ python
Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import orange
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named orange
>>>
Run Code Online (Sandbox Code Playgroud)
但是,从相应的dist-packages子目录运行Python时导入包可以正常工作:
11:34:02 leon@t410i:~$ cd /usr/local/lib/python2.7/dist-packages/Orange-2.5a4-py2.7-linux-x86_64.egg/Orange
11:34:32 leon@t410i:/usr/local/lib/python2.7/dist-packages/Orange-2.5a4-py2.7-linux-x86_64.egg/Orange$ python
Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" …Run Code Online (Sandbox Code Playgroud)