2012-07-12 3 views
1

이 들어 나는 folowing 코드가 여기 XPath 쿼리는

$xml = simplexml_load_file($url); 

$query = '/root/parent[Model="Corolla"]'; 

//RUN QUERY ON XML 
$xQuery = $xml->xpath($query); 

그리고

XML 파일입니다 : 나는 정확한 문자열 "화관"찾고 있어요 경우

<root> 
    <parent> 
    <Model>Corolla A/C</Model> 
    </parent> 
</root> 

이 코드는 잘 작동합니다. 내가 겪고있는 문제 중 일부는 "Corolla A/C 양호한 조건"과 비슷하다는 것입니다.

정확하게 Corolla라는 단어가 들어있는 Model 요소에 대해 XML 파일을 쿼리 할 수있는 방법이 있습니까? string Corolla?

편집 : 명확한 XML 도움말 예제를 추가했습니다. 모델에 @

답변

3

이 특별한 경우에는 내가 (모든 모델은 단어 "화관"로 시작하는 가정 주어진)이 starts-with 기능보다는 contains을 제안 에 쿼리를 변경해야 할 것 :

/root/parent/Model[starts-with(., 'Corolla')] 

또한 Zvon XSLT Tutorial 봐가있을 수 있습니다. 그것은 아주 좋은 읽기입니다.

+0

방금 ​​XML 파일의 모습을 보여주기 위해 원래 게시물을 편집했습니다. @Model을 사용할 때 표시 한 예와 함께 사용할 수 있습니까? 화관은 내가 잘못하지 않으면 속성이 아닌 값으로 입력되기 때문에. 도움을 주셔서 감사합니다.이 튜토리얼을 북마크에 추가합니다. – Marc

1
/root/parent[contains(@Model, 'Corolla')] 

주 ... 그건 당신이 이름이 어떻게 Model을 할 수있는 다른 태그를 parent 태그의 속성과 협력, 그리고하지 않는 것을 나타 내기 위해서 (때문에) 필요가있다. 당신을

편집

당신의 편집 기준 자료 :