A. python LXML模塊死活安裝不了怎麼辦

1. 安裝wheel,命令行運行:
pip install wheel
2.在這里下載對應的.whl文件,注意別改文件名
3. 進入.whl所在的文件夾,執回行命令即可答完成安裝
pip install 帶後綴的完整文件名

B. python中lxml模塊怎麼導入

這個模塊是第三方模塊,需要先安裝再導入。

安裝:終端命令界面下,pip install lxml(安裝過程中如果提示需要其他哪個庫,需要先裝提示的庫,再裝lxml)。
如果使用pip安裝失敗,到pypi社區官網下載壓縮包解壓,終端界面進入其目錄(當前目錄有個叫「setup.py」就對了),用命令 python setup install 就行。

導入:import lxml 即可

C. lxml在python中怎麼安裝

首先要有 Python :You need Python 2.3 or later.
然後是需要:You need libxml2 and libxslt, in particular:
使用:$sudo apt-get install libxml2 libxml2-dev 安裝 libxml2
使用:$sudo apt-get install libxlst libxslt-dev 安裝 libxslt
安裝 python-libxml2 和 python-libxslt :$sudo apt-get install python-libxml2 python-libxslt
然後就可以回使用:$sudo easy_install lxml 來安裝最新的 lxml 了。我裝的答是最新版本:lxml 2.2beta1
在 Cygwin 上安裝也一樣,直接選擇安裝 libxml2, libxml2-devel, libxlst, libxlst-devel, python-libxml2, python-libxslt 包安裝,然後 $sudo easy_install lxml 就可以裝上了!

D. lxml是不是沒有python3.4的版本

最多支持到到Python3.2
更高版本的我沒有找到

E. 如何檢測python中是否安裝了lxml

IDLE導入lxml模塊,如果沒安裝會報錯
import lxml

F. python lxml是什麼語言寫的

lxml takes all the pain out of XML. Stephan Richter lxml是Python語言里和XML以及HTML工作的功能最豐富和最容易使用的庫。lxml是為libxml2和libxslt庫的一個Python化的綁定。它與眾不同的地方是它兼顧了這些庫的速度和功能完整性,以及純Pyth...
最好先說明一下你的python的版本,這樣更方便回答一些 我就簡單說一下我的解決辦法吧 平台是win10 64位 python版本是3.5.1 64位 打開python3.5程序 輸入 import pip; print(pip.pep425tags.get_supported()) 顯示如下圖: 詳細什麼意思就不太清...

G. Python lxml所有與多個命名空間問題,怎麼解決

有如下xml

<A xmlns="http://This/is/a/namespace">
<B>dataB1</B>
<B>dataB2</B>
<B>
<C>dataC</C>
</B>
</A>

其中的xmlns屬性表示的是該xml的默認命名空間,該命名空間必須是一個url形式
查看xml的tag

#encoding=utf8

from lxml import etree

str_xml = """
<A xmlns="http://This/is/a/namespace">
<B>dataB1</B>
<B>dataB2</B>
<B>
<C>dataC</C>
</B>
</A>
"""

xml = etree.fromstring(str_xml)
for node in xml.iter():
print node.tag

結果為:
{http://This/is/a/namespace}A
{http://This/is/a/namespace}B
{http://This/is/a/namespace}B
{http://This/is/a/namespace}B
{http://This/is/a/namespace}C

可以看到,跟普通xml的tag相比每個tag前面都多出了一個命名空間

獲取命名空間 .nsmap

from lxml import etree

str_xml = """
<A xmlns="http://This/is/a/namespace">
<B>dataB1</B>
<B>dataB2</B>
<B>
<C>dataC</C>
</B>
</A>
"""

xml = etree.fromstring(str_xml)
ns = xml.nsmap
print ns
print ns[None]

結果
{None: 'http://This/is/a/namespace'}
http://This/is/a/namespace

ns[None]獲取的是默認命名空間,ns會顯示所有的命名空間

獲取有命名空間的節點內容

from lxml import etree

str_xml = """
<A xmlns="http://This/is/a/namespace">
<B>dataB1</B>
<B>dataB2</B>
<B>
<C>dataC</C>
</B>
</A>
"""

xml = etree.fromstring(str_xml)
ns = xml.nsmap[None]
ns = "{%s}" % ns
for item in xml.findall("{0}B/{0}C".format(ns)): #不能用xpath會出錯
print item.text

結果
dataC

注意,在查找節點時,每一級節點都需要加上命名空間。而且測試時發現,findall可以正常查找到信息,而xpath會報錯。

獲取帶命名空間節點的屬性值

from lxml import etree

str_xml = """
<A xmlns="http://This/is/a/namespace">
<B b="123">dataB1</B>
<B>dataB2</B>
<B>
<C>dataC</C>
</B>
</A>
"""

xml = etree.fromstring(str_xml)
ns = xml.nsmap[None]
ns = "{%s}" % ns

item = xml.find(ns+"B")
print item.get("b")
print item.text

結果
123
dataB1

可以看到,獲取屬性時,不需要加命名空間,直接獲取即可

H. 如何使用xml解析啊python中lxml是不是不能用

可以使用xml.dom.minidom模塊

import xml.dom.minidom as dd

cdb = dd.parse("GAC_ExCAN.xml")
nd = cdb.getElementsByTagName('Node')

I. python lxml,中文亂碼

有一個萬能轉碼的模塊,會自動識別並轉換,chardet
import chardet
def smartcode(stream):
____ustring = stream
____codedetect = chardet.detect(ustring)["encoding"]
____print codedetect
____try:
________print ustring
________ustring = unicode(ustring, codedetect)
________print ustring
________return "%s %s %s" % (" ",ustring.encode('utf8'))
____except:
________return u"bad unicode encode try!"
你可以網路一下.下載一個試試