xpath 쿼리를 사용하면 노드 (태그)가 존재하는지 어떻게 알 수 있습니까? 내가 만드는 데 필요한 경우, 예를 들어 xpath 노드가 있는지 찾기
웹 사이트 페이지/HTML/몸/HTML/헤드/제목 예를 들어 너무답변
<xsl:if test="xpath-expression">...</xsl:if>
같은 올바른 기본 구조를 가지고 있는지
<xsl:if test="/html/body">body node exists</xsl:if>
<xsl:if test="not(/html/body)">body node missing</xsl:if>
질문에 XSLT를 전혀 사용하지 않는다는 점을 감안하면 놀랄 정도입니다. – tjmoore
이것은 굉장하지만 그것이 존재하는지 또는 비어 있는지 확인하고 싶다면 어떻게해야할까요? – SearchForKnowledge
@SearchForKnowledge, 당신은 아마 그것을 SO에서 새로운 질문으로 물어봐야 할 것이지만, 빠른 가이드로서 : html/body and not (html/body/node())가 아니다. 모든 하위 노드 또는 텍스트 노드 포함). – Abel
다음 식을 시도
int numberofbodies = Integer.parseInt((String) xPath.evaluate("count(/html/body)", doc));
if(numberofbodies==0) {
// body node missing
}
This Supered Greatly! –
: 변동 계수()를 사용하여 자바에서 XPath를 사용하는 경우 boolean(path-to-node)
이것은 정확하게 Python에서 lxml로 XPath를 사용할 때 필요한 것입니다. –
InfoPath 2010에서 규칙 조건 및 규칙 작업을 구성 할 때이 작업이 효과적이었습니다. – Merenzo
이것은 대부분의 다른 대답과 달리 실제로는 XPath 쿼리라는 정답입니다. –
선택 사항을 사용하는 것이 더 좋을 수도 있고, 표현을 두 번 이상 입력하거나 (아마도 잘못 입력 할 필요가 없으며) 추가로 다른 동작을 수행 할 수 있습니다.
노드의 특정 번호가 세트보다 더 재미 있기 때문에 나는 매우 자주 count(/html/body) = 0
을 사용합니다. 예를 들어 ... 귀하의 표현과 일치하는 노드가 두 개 이상 예기치 않게 발생했습니다.
<xsl:choose>
<xsl:when test="/html/body">
<!-- Found the node(s) -->
</xsl:when>
<!-- more xsl:when here, if needed -->
<xsl:otherwise>
<!-- No node exists -->
</xsl:otherwise>
</xsl:choose>
위의 코드에서와 같이 xsl : when 절을 추가하여 동작을 변경하고 여러 조건을 여러 가지 방식으로 처리 할 수 있습니다. – davenpcj
'count (/ html/body) = 0' 천재! : D '/ body' (또는 무엇이든)가 빠졌을 때'someNode'를 선택하기 위해'/ html [count (/ body) = 0]/someNode'로 사용합니다. –
@clickstefan,'/ html [count (/ body) = 0]'은 결코 아무것도 선택하지 않을 것이고, XML에는 두 개의 루트 노드가있을 수 없다. 어쩌면'/ html [count (body) = 0]','/ html [not (body)]'또는'/ html [not (exists (body)] '와 같을 것입니다. – Abel
패트릭은 xsl:if
의 사용, 및 노드의 존재 여부를 확인하기위한 구문 모두 정확하다. 그러나 Patrick의 응답이 암시 하듯이 if-then-else와 같은 xsl은 없으므로 if-then-else와 비슷한 것을 찾고 있다면 일반적으로 xsl:choose
및 xsl:otherwise
을 사용하는 것이 좋습니다. 그래서, 패트릭의 예 구문은 작동하지만이 대안입니다 : 내가 루비에서 작업
<xsl:choose>
<xsl:when test="/html/body">body node exists</xsl:when>
<xsl:otherwise>body node missing</xsl:otherwise>
</xsl:choose>
+1에 대해 'if-then-else', if-else if-else'? Davenpcj의 대답은'if = else if-else'가 될 때'test = "somexpath"'를 2 번째에 넣을 수 있습니까? – abi1964
@Abhishek 예, 다른 조건의 xsl : when을 더 넣을 수 있으며 다중 분기 문을 사용할 수 있습니다. if-then-else보다 SELECT와 같을 것입니다. xsl : 그렇지 않으면 기본값 :. – davenpcj
이것은 굉장하지만 그것이 존재하는지 또는 비어 있는지 확인하고 싶다면 어떻게해야할까요? – SearchForKnowledge
내가 요소를 가져오고 결과가 전무 있는지 살펴 노코 기리를 사용하여.
require 'nokogiri'
url = "http://somthing.com/resource"
resp = Nokogiri::XML(open(url))
first_name = resp.xpath("/movies/actors/actor[1]/first-name")
puts "first-name not found" if first_name.nil?
- 1. 노드가 자바 스크립트에 있는지 확인하십시오.
- 2. 노드가 존재하지 않을 때의 xpath 표현식?
- 3. vba - 노드의 xpath 찾기
- 4. PHP에서 어린이 찾기 simplexml xpath
- 5. 두 노드가 연결되어 있는지 확인하는 방법은 무엇입니까?
- 6. Tinyxml을 사용하여 XML 노드가 있는지 확인하십시오.
- 7. 노드가 XSLT의 다른 노드에 포함되어 있는지 확인
- 8. XPath : 속성 노드 찾기 (단 하나만)
- 9. 윈도우가 드래그되고 있는지 찾기
- 10. Google지도에 오버레이가 있는지 찾기
- 11. XPath 부울 '또는'
- 12. 노드에 심플 렉스를 사용하는 형제가 있는지 찾기
- 13. xpath 문제를 사용하여 XML에서 텍스트 노드 찾기
- 14. IE 개발자 도구를 사용하여 XPath 요소 찾기
- 15. XPath 1.0으로 최대 자식 수 찾기
- 16. 의 XPath 찾기 요소는 상위 요소
- 17. XPath 두통, 범위 사이의 속성을 가진 노드 찾기
- 18. dijit.Tree 노드가 열려 있거나 닫혀 있는지 알 수있는 방법이 있습니까?
- 19. 객체 목록에 해당 객체의 특정 속성과 일치하는 노드가 있는지 확인하십시오.
- 20. XML 파일에 루트가 아닌 노드가 있는지 확인하려면 어떻게합니까?
- 21. XML에 노드가 있는지 확인하는 방법 또는 XSLT를 사용하여 빈 파일입니까?
- 22. 찾기 다음 볼 노드가 나는 C#에서 트 리뷰를 사용하고
- 23. Prim의 MST : 시작 노드가 중요합니까?
- 24. SimpleXML - "노드가 없습니다"
- 25. XML XPath SelectSingleNode 문제
- 26. 모든 빈 DOM 노드 찾기
- 27. XPath concat 다중 노드
- 28. Xpath 질문 Xml Xpath
- 29. xml에서 텍스트 노드 가용성 찾기
- 30. C#을 htmlagilitypack의 XPath 도움말
필수 요소가 표시된 XML 스키마를 사용하는 것이 더 좋을까요? 문서가 사용하는지 확인하십시오. – abatishchev