2010-03-10 9 views

cevap

6

Özellikle metin düğümlerini seçtiğiniz sürece, yapamazsınız. Çünkü ilk <td>'da hiç bir metin düğümü yoktur.

XPath ifadenizi '//td' olarak değiştirdiğinizde, iki <td> düğümünü elde edersiniz. Daha fazla işlemede metin değerini kullanın. XPath'ın 2.0 bir de

+1

Bütün 'td' düğümleri bulma ve üzerlerinde .text çağıran sarılır. Büyük bir XPath ;-) her şeyi yapmak kadar güzel değil ama işe yarıyor. – joeforker

+0

@joeforker: All-parlak XPath 2.0'a erişiminiz olmadığı sürece, bu tek seçeneğiniz. :-) – Tomalak

7

@Tomalak mükemmel doğru olmakla birlikte, kullanabilir:

//td/string(.)

ve bu dizileri bir dizi üreten - karşılık gelen bir td elemanının dize değeri içeren her bir.

Yani, sizin durumda sonuç tane arzu edilecektir:

"", "foo"

+1

+1. Bu, benim çözümümün XPath 1.0 için tam olarak ne yaptığı - '' düğümlerini alır ve sonra ilgili metin değerini kullanır. – Tomalak