>  기사  >  백엔드 개발  >  Xml SelectNodes 및 XPath

Xml SelectNodes 및 XPath

黄舟
黄舟원래의
2017-02-15 15:32:421713검색


XPath는 XML의 콘텐츠이고, 여기서 SelectNodes는 C#의 XmlDocument 또는 XmlNode 메서드입니다. SelectNodes는 XPath를 사용하여 노드를 선택합니다.

중요 구문:

SelectNodes("item")

현재 노드의 하위 노드에서(아들만 해당) , (손자와 증손자 제외)에서 item이라는 노드를 선택합니다.

SelectNodes("/item")

                                                                     >        가.

SelectNodes("//item")

임의 위치의 노드에서 item이라는 노드를 선택합니다. 이 임의 위치를 ​​강조 표시하려면 현재 노드의 영향을 받지 않습니다. 즉, 현재 노드가 100번째 레이어에 있으면(약간 과장됨) 첫 번째 레이어에서 item이라는 노드를 선택할 수도 있습니다.

SelectNodes(".")

현재 노드를 선택합니다.

SelectNodes("..")

현재 노드의 상위 노드를 선택합니다.

SelectNodes("//item[@name]")

SelectNodes("//item")를 기반으로 요구사항인 제한 사항이 추가됩니다. 이름 속성이 있습니다.

SelectNodes("//item[@name='111']")

SelectNodes("//item[@name]") 기반 이름 속성 값이 111이어야 하는 제한 사항이 추가되었습니다. 구문에 따옴표가 있습니다. 따옴표가 없으면 숫자 유형임을 의미합니다. 숫자 유형의 경우 다음과 같이 보다 큼 기호, 보다 작음 기호 등을 사용할 수 있습니다. SelectNodes("/ /항목[@v>333]").

SelectNodes("//item[1]")

두 번째 항목이 아닌 첫 번째 항목을 선택합니다. 또한 여기서는 형제 사이의 첫 번째 항목을 참조합니다. 즉, 부모에 세 개의 항목이 있으면 첫 번째 항목을 선택합니다. 부모의 두 번째 항목에 항목과 이름이 같은 두 아들이 있으면 첫 번째 아들이 됩니다. 선택됨; 부모의 세 번째 항목에도 동일한 이름을 가진 두 아들이 있는 경우 첫 번째 아들도 선택됩니다...

SelectNodes("// item[last()-1]")

두 번째 노드는 형제 간의 두 번째 노드를 의미하기도 합니다.

SelectNodes("//item[position()<=2]")

첫 번째와 두 번째 위치의 노드(첫 번째 노드의 position() 1)은 형제간의 지위를 뜻하기도 합니다.

SelectNodes("//@name")

SelectNodes("/root/item/@name")는 항목

이름 속성을 선택합니다. 이번에는 노드가 아닌 속성을 선택합니다. Value 속성을 사용하여 속성 컬렉션의 속성 값을 가져옵니다.

SelectNodes("/root/item")

루트 노드 루트 아래의 항목 하위 노드입니다.

SelectNodes("/root//item")

                                              ~              을 모두 선택하세요.

와일드카드:

*를 사용하여 SelectNodes("/channel/*/item")와 같은 노드 이름을 나타낼 수 있습니다.

모든 속성을 나타내려면 @*를 사용하세요.

모든 유형의 노드를 나타내려면 node()를 사용하세요. 🎜> 사용 text()는 텍스트 유형 노드를 나타냅니다. 이는 실제로 텍스트 노드를 취하는 것을 의미합니다(요소 노드 아래에는 텍스트 노드가 있고 텍스트 노드 아래에는 텍스트가 있음).

운영자:

                                                                                      . SelectNodes("//item|//channel"), 항목 또는 채널 노드를 선택합니다.

위 내용은 Xml SelectNodes와 XPath의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.