Search code examples
domdocumentquerypath

How to fetch custom or namespaced elements in QueryPath?


I'm trying to fetch my custom elements in QueryPath library. But QueryPath does not work. Can anyone please help me how I can do it in QueryPath? See sample code below;

<plugin:text path="filename" />

Moreover, I also checked the PhpSimpleDom library in detail. Although it works good for me. But it does not provide the full support of css selectors and more. I also have face a very bad memory problem in PhpSimpleDom.

Can anyone please help me to fetch above mentioned element in QueryPath?

Thanks Smac


Solution

  • From https://github.com/pode/reiseplanlegger/blob/master/api/dbpedia.php:

    rdf:

    <rdf:RDF><rdf:Description rdf:about="http://dbpedia.org/resource/John_Frandsen_(footballer)"><dbpprop:placeOfBirth rdf:resource="http://dbpedia.org/resource/Denmark"/><dbpedia-owl:birthPlace rdf:resource="http://dbpedia.org/resource/Denmark"/></rdf:Description>/rdf:RDF>
    

    code:

    // Fetch the URL and select all rdf:Description elements.
    // (Note that | is the CSS 3 equiv of colons for namespacing.)
    // To add the context, we pass it in as an option to QueryPath.
    $qp = qp($url, 'rdf|Description', array('context' => $cxt));
    
    [...]
    
    // Here, we use rdf|* to select all elements in the RDF namespace.
    $qp->top()->find('rdf|about');
    

    (Note that | is the CSS 3 equiv of colons for namespacing.)