콘텐츠를 기반으로 XML 노드를 선택하려면 어떻게합니까?

StackOverflow https://stackoverflow.com/questions/30018

  •  09-06-2019
  •  | 
  •  

문제

XPath를 사용하여 콘텐츠를 기반으로 XML 노드를 선택하려면 어떻게해야합니까?

예를 들어 다음 XML이 있고 선택하고 싶습니다.u003Cauthor> -저자의 전체 이름을 얻기 위해 Ritchie가 포함 된 노드 :

<books>
    <book isbn='0131103628'>
        <title>The C Programming Language</title>
        <authors>
            <author>Ritchie, Dennis M.</author>
            <author>Kernighan, Brian W.</author>
        </authors>
    </book>
    <book isbn='1590593898'>
        <title>Joel on Software</title>
        <authors>
            <author>Spolsky, Joel</author>
        </authors>
    </book>
</books>
도움이 되었습니까?

해결책

/books/book/authors/author[contains(., 'Ritchie')]

또는

//author[contains(., 'Ritchie')]

다른 팁

이것의 xpath는 다음과 같습니다.

/books/book/authors/author[contains(., 'Ritchie')]

C#에서 다음 코드는 "Ritchie, Dennis M."을 반환합니다.

xmlDoc.SelectSingleNode("/books/book/authors/author[contains(., 'Ritchie')]").InnerText;
//author[contains(text(), 'Ritchie')]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top