에서 특정 노드의 형제의 모든 종류를 얻을 수있는 방법이 XPath는 2.0XPath는 2.0
축은 "다음 - 형제"만 지원을 특정 노드의 형제의 모든 종류를 얻을 수있는 방법이 있습니다 형제 형제도 마찬가지야.
예는 :
<node>
<b name="bold">abc</b>
<div>gef</div>
</node>
나는 <b name="bold">
의 모든 형제를 선택합니다.
에서 특정 노드의 형제의 모든 종류를 얻을 수있는 방법이 XPath는 2.0XPath는 2.0
축은 "다음 - 형제"만 지원을 특정 노드의 형제의 모든 종류를 얻을 수있는 방법이 있습니다 형제 형제도 마찬가지야.
예는 :
<node>
<b name="bold">abc</b>
<div>gef</div>
</node>
나는 <b name="bold">
의 모든 형제를 선택합니다.
은 확실 질문을 이해하지만 방법에 대한 다음 <b name="bold">abc</b>
요소의 이전의 모든 형제 자매를 얻을 것이다
//*[preceding-sibling::b]
.
*
은 모든 유형의 요소를 선택합니다.
//*[preceding-sibling::b or following-sibling::b]
그리고 당신은 더 구체적하려는 경우가 b
요소 선택 방법 :
//*[preceding-sibling::b[@name="bold"]]
이 Xpath 이외의 div 태그를 선택하고 싶습니다 '// b [@name = 'bold'] // following-sibling :: div [1] ' –
무슨 뜻인지 모르겠지만 xpath는 div가 아닌 모든 * 형제를 선택합니다 –
그래서 모든 div를 선택하려고합니다. 형제 자매 * 다른 * 형제 자매보다 먼저? –
Is there any method to get any type of sibling of a particular node in Xpath 2.0
The axes following-sibling only supports for the same type of siblings.
사용을 :
당신이 모든 형제 자매를 원하는 경우에
following-sibling::node()
요소, 텍스트 노드, 처리 명령 노드 및 주석 노드의 모든 형제 노드를 선택합니다. 여기
완전한 XSLT 인 - 대조 : XPath 식을 OFF (인가
<node>
<b name="bold">abc</b>
<div>gef</div>
</node>
이 변환이 제공된 XML 문서에 적용
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="/*/b[@name='bold']/following-sibling::node()">
"<xsl:copy-of select="."/>"
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
원하는 요소) 및 선택된 모든 세 노드가 출력에 복사됩니다. :
"
"
"<div>gef</div>"
"
"
우리가 볼 수 있듯이, 모든 형제 노드를 선택 - 공백 전용 텍스트 노드, div
요소와 다른 공백 전용 텍스트 노드를.
는주의 마십시오 : 이것은 XPath는 1.0 표현 내가 XPath는 2.0 형제를 선택하는 새로운 기능을 추가 생각하지 않습니다 XPath는 1.0에 이미있는 것보다.
"형제"는 XPath에서 "형제"의 의미와 다른 의미가있는 경우 정확하게 의미를 정의해야합니다.
Shivam Agrawal, "Xpath 2.0에서 특정 노드의 모든 형제 *를 가져올 수있는 방법이 있습니까?"라고 말하면서 "나는 ."이 두 진술은 모순적이며 결과적으로 문제는 거의 없다. 질문을 편집하고 문제에 대한 명확한 설명과 정확하게 선택해야 할 내용을 제공한다. 또한 질문의 제목을 변경한다. –
누락 된 형제 유형은 무엇입니까? 어떤 XPath 쿼리를 시도 했습니까 –