2009-12-27 5 views
23

Firefox의 XPath 검사기를 사용하고 있으며 구문을 올바르게 가져올 수 없습니다.XPath : xpath에서 어떻게 소문자 통화를합니까?

<a>LinkName</a> 

내가 일을 시도 : 나는 링크가

//a[lower-case(child::text())='linkname'] 

을하지만 난 구문 오류가 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

감사

답변

42

파이어 폭스에서 사용되는 XPath에의 버전입니다 XPath는 1.0 lower-case라는 어떤 기능이 없습니다.

는 대신 추악한 translate 기능을 사용할 필요가 : -

translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') 

...하지만 물론 당신이 넓은 문자 집합의 범위를해야하는 경우이를 확장해야합니다.

+1

위대한 힌트 - Firefox에만 적용되는 것은 아닙니다. –

+1

참고 : "translate"는 소문자로 사용해야합니다. ('abcdefghijklmnopqrstuvwxyzàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿžšœ', 'ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞŸŽŠŒ'% s의) 번역 –

+3

다음은 완전한 ANSI 테이블 인), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = '참'] "). evaluate (doc, XPathConstants.NODESET);' –

관련 문제