2016-04-25 26 views
-2

同じノードから2つの要素を選択したいと思います。ここでは、コード:Xpathで同じノードから複数の要素を選択する方法は?

<div > 
    <span >First element to select:</span> 
    <span ></span> 
    <strong >Second element to select</strong> 
</div> 

私はこれを試してみました:

$x('//div/span/text()') 

と私はこのような配列を得る:

["First element", " "] 

を取得するためにとにかくあり:

["First element", "Second element"] 

これをpython dictioに入れるnary?そして、あります

+0

'[@ id =" details "]'と一致するノードはありません。あなたの質問に[編集]し、あなたのコードと一致するHTMLを含めてください。 –

+0

'$ x'とは何ですか?これはPythonではありません。 –

答えて

1

を支援するための

dict = {'First element' : 'Second element'} 

感謝を次のXPathを使用することができます。

//*[@id="details"]//div/*/text() 

か、のみ特異spanstrongからテキストノードを取得したい場合:

//*[@id="details"]//div/*[self::span|self::strong]/text() 

空のテキストノードをスキップするには、述部を追加します[normalize-space()]

//*[@id="details"]//div/*/text()[normalize-space()] 
+0

スーパー!ありがとう!これはこの["最初の要素"、 ""、 "2番目の要素"]を生成します。 ["最初の要素"、 "2番目の要素"]のみを生成することは可能ですか? – user1463152

+0

リストをフィルタリングします。 –

+0

@ user1463152私の答えで3番目のXPathを確認してください – har07

関連する問題