programing

XPath: 텍스트 노드 선택

lastcode 2023. 10. 24. 21:21
반응형

XPath: 텍스트 노드 선택

다음 XML을 사용합니다.

<node>Text1<subnode/>text2</node>

XPath를 통해 첫 번째 또는 두 번째 텍스트 노드를 선택하려면 어떻게 해야 합니까?

이와 같은 것:

/node/text()[2]

물론 노드 내부의 모든 텍스트를 병합한 결과이기 때문에 작동하지는 않습니다.

다음 XML을 사용합니다.

<node>Text1<subnode/>text2</node> 

XPath를 통해 첫 번째 또는 두 번째 텍스트 노드를 선택하려면 어떻게 해야 합니까?

용도:

/node/text()

XML 문서의 최상위 요소("노드"로 명명됨)의 모든 텍스트 노드 자식을 선택합니다.

/node/text()[1]

XML 문서의 최상위 요소("노드"로 명명됨)의 첫 번째 텍스트 노드 자식을 선택합니다.

/node/text()[2]

XML 문서의 최상위 요소("노드"로 명명됨)의 두 번째 텍스트 노드 자식을 선택합니다.

/node/text()[someInteger]

이것은 일부를 선택합니다.XML 문서의 최상위 요소("노드"로 명명됨)의 정수번째 텍스트 노드 자식입니다.이것은 다음 XPath 식과 같습니다.

/node/text()[position() = someInteger]

당신의 xpath는 작동할 것입니다. 나는 MarkLogic과 Zorba Xquery/Xpath 구현 모두에서 당신의 xpath와 나의 xpath를 테스트했습니다.

둘 다 효과가 있을 겁니다.

/node/child::text()[1] - should return Text1
/node/child::text()[2] - should return text2


/node/text()[1] - should return Text1
/node/text()[2] - should return text2

언급URL : https://stackoverflow.com/questions/5033955/xpath-select-text-node

반응형