這是我的xml文件的一個小樣本。Xpath local-name()中的屬性
<w:p xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:pPr>
<w:rPr>
<w:highlight w:val="yellow"/>
</w:rPr>
</w:pPr>
<w:bookmarkStart w:id="0" w:name="_GoBack"/>
<w:bookmarkEnd w:id="0"/>
<w:r w:rsidRPr="00D1434D">
<w:rPr>
<w:rFonts w:ascii="Times New Roman"
w:eastAsia="MS PGothic"
w:hAnsi="Times New Roman"/>
<w:b/>
<w:color w:val="000000"/>
<w:sz w:val="24"/>
<w:szCs w:val="24"/>
<w:highlight w:val="yellow"/>
</w:rPr>
<w:t xml:space="preserve">Responses to </w:t>
</w:r>
<w:r w:rsidR="00335D4A" w:rsidRPr="00D1434D">
<w:rPr>
<w:rFonts w:ascii="Times New Roman"
w:eastAsia="MS PGothic"
w:hAnsi="Times New Roman"/>
<w:b/>
<w:color w:val="000000"/>
<w:sz w:val="24"/>
<w:szCs w:val="24"/>
<w:highlight w:val="yellow"/>
<w:lang w:eastAsia="ja-JP"/>
</w:rPr>
<w:t>the Reviewer</w:t>
</w:r>
</w:p>
我想提取與w:highlight
標籤特別具有屬性value
= 「黃色」文本。我搜索了它,但無法提出解決方案。在一般的亮點
以下工作:
for t in source.xpath('.//*[local-name()="highlight"]/../..//*[local-name()="t"]'):
do something
我想:
for t in lxml_tree.xpath('//*[local-name()="highlight"][@val="yellow"]/../..//*[local-name()="t"]'):
這是不行的,沒有返回..
對於未來的問題,確保你的XML是_properly formatted_和可讀性(一個令人難以置信的長線不是)。另外,'w:'前綴沒有被聲明,你的XML代碼片段格式不正確,因爲缺少''。 – 2014-10-18 10:00:45
如何在SO上格式化xml數據? – 2014-10-18 10:01:46
這個[問題](http://stackoverflow.com/questions/2243131/getting-certain-attribute-value-using-xpath)有點類似,但它在local-name()上不起作用。 – 2014-10-18 10:03:44