Php XML Xpath用法

Php XML Xpath用法,php,xpath,Php,Xpath,ornek.xml此处: <?xml version="1.0" encoding="UTF-8"?> <library> <book onay="e" katid="31" dil="tr"> <kitapadi>Dear Lovely</kitapadi> <yazar>Author 1234</yazar> <isbn>1234513<

ornek.xml此处:

<?xml version="1.0" encoding="UTF-8"?>
<library>
    <book onay="e" katid="31" dil="tr">
        <kitapadi>Dear Lovely</kitapadi>
        <yazar>Author 1234</yazar>
        <isbn>1234513</isbn>
         </book>
         <book onay="e" katid="32" dil="en">
        <kitapadi>Love and Hate</kitapadi>
        <yazar>Author 345</yazar>
        <isbn>1234513</isbn>
         </book>
</library>
如果我使用它,我可以获得
yazar
属性。但我想得到另一个属性 例如:


$search=34,其中match yazar 34在kitapadi、isbn、yazar中给出此块

此XPath查询实现了以下功能:

//*[text()[contains(., '34')]]
结果:

Element='<yazar>Author 1234</yazar>'
Element='<isbn>1234513</isbn>'
Element='<yazar>Author 345</yazar>'
Element='<isbn>1234513</isbn>'
Element='Author 1234'
元素='1234513'
元素=“作者345”
元素='1234513'

如果你想在亚扎尔买到一本包含serach sring的书。使用类似以下内容:

$xml = simplexml_load_file('veri/ornek.xml');
$search= "34";
$result = $xml->xpath("//book[yazar[contains(.,' $search')]]");
foreach($result as $tt){
    echo $tt->isbn;
    }

$xml->xpath('//book[yazar[contains(,“.”.$search.''”)]或isbn[contains(,“.”.$search.''”));如何在2字段中搜索?@Cumhur Yrdkl尝试以下xpath:
“//book[yazar[contains(,'$search')]或isbn[contains(,'$search')]]”
$xml = simplexml_load_file('veri/ornek.xml');
$search= "34";
$result = $xml->xpath("//book[yazar[contains(.,' $search')]]");
foreach($result as $tt){
    echo $tt->isbn;
    }