Domxml xpath ne gelecek yapmalıyım?

0 Cevap php

Bu kodu vardır:

$reader = new DOMDocument();
$reader->loadHTML($shell);
$xpath = new DomXPath($reader);
$xpath->registerNamespace('html','http://www.w3.org/1999/xhtml');
$res = $xpath->query('descendant-or-self::*[contains(@class,"content")]');
print_r($res);

$shell is just a variable containing the following html code:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="en-us" />

        <title>Hello World</title>
    </head>

    <body>
        <div class="content">
            Hello World!!
        </div>
    </body>
</html>

Ben doğru XPath sorgusu bensem:

descendant-or-self::*[contains(@class,"content")]

sınıf "içerik" ile div almak gerekiyordu. Ben dizi yazdırmak Ancak ben gördüğüm boş bir nesnedir:

DOMNodeList Object
(
)

Bu sorgu işe yaramadı anlamına mı geliyor? Sorgu SimpleXML ile çalışır çünkü DOMXPath sorgu dili, SimpleXML XPath birine farklı mı?

Çalışıyorsa nasıl görüntülemek ve eşleşen düğümlerin değiştirmek?

0 Cevap