특정 속성을 갖는 노드 하나 (실제로는 노드가 아닌 속성에 관심이있는)를 찾는 XPath는 무엇입니까? 예를 들어, 내 XML에서 lang 특성을 가진 여러 태그가 있습니다. 나는 그들 모두가 같은 가치를 가져야한다는 것을 압니다. 나는 그저 그들 중 하나를 갖고 싶다.XPath : 속성 노드 찾기 (단 하나만)
지금이 작업을 수행합니다 : //*[1][@lang]/@lang
,하지만 알 수없는 이유로 제대로 작동하지 않는 것 같습니다.
내 시도는 모든 @lang 값 ('en en en ...')을 연결하지 않고, 때로는 inbetween를 사용하여 모든 XML에 적용하지 않는 것에 이르기까지 모든 것을 이끌어 냈습니다.
편집 : 함수 position()
가 lang
속성의 존재에 대한 시험 전에 호출되기 때문에
는 사실 //@lang[1]
이 작동하지 않을 수 있습니다. 따라서 항상 XML에서 발견되는 첫 번째 요소가 필요합니다. 많은 시간 동안 lang 속성이 루트 요소에 있었기 때문에 가장 효과적이었습니다.
아니요. 첫눈에 그것은 훨씬 좋아 보인다, 나는 철저한 시험을 즉시 만들 것이다! 감사. – glmxndr
실제로 제대로 작동하지 않으면 부모 요소에있는 첫 번째 lang 요소가 모두 선택됩니다. – glmxndr