2013-03-04 5 views
2

이전 형제에 따라 BR 이전 :XPath는 선택 텍스트() 나는이 HTML 코드가 텍스트

<td width="220" align="left"> 
    <b>Valor da Venda:</b> 
    R$ 650.000,00<br> 
    <b>Valor do IPTU:</b> 
    R$ 0,00<br> 
    <b>Valor do Condomínio:</b> 
    R$ 0,00 
</td> 

나는 "BR"태그 이전의 텍스트를()를 선택하기 위해 노력하고있어 어디 텍스트()에서 앞의 "b"태그는 "Valor da Venda :"와 같습니다. 내가 사전에 도움을 첫 번째 한 R $ 650.000,00

감사를 반환하고 싶었 동안

/td//text()[preceding::br and contains(../b/text(),'Valor da Venda:')] 

하지만이

[' R$ 650.000,00', ' R$ 0,00', ' R$ 0,00 '] 

을 반환 :

내가 함께 노력

답변

2

정확히 묻지는 않지만 이것이 해결책일까요?

/td/b[.="Valor da Venda:"]/following-sibling::text()[1] 

또는, br 요구 사항이 확인되는 경우 :/BR 태그 (b)의 형제로 해석되지 않습니다 어떤 이유

/td/b[.="Valor da Venda:"]/following-sibling::text()[1][following-sibling::br]' 
+0

. 왜 내가 옳은지 모르겠지만 솔루션 중 하나가 xml 인터프리터를 위해 일하고 있는지 확인하십시오. ( – bslima

+0

브로그가 닫혀 있지 않기 때문에 어쩌면 생각할 수 있습니다.) – bslima

+0

당신이 사용하고있는 것을 Depens합니다. PHP DOM에서 작동합니다. if HTML로로드합니다. XML로로드하면 물론 실패합니다. *** XML이 아니기 때문에. 사용중인 것은 무엇입니까? – Wrikken