SimpleXML isim alanlı elemanlar bulmak için başarısız

0 Cevap php

Ben bir XHTML belge içinde sabitlenmiş bir ad elemanlarını tanımak için PHP'nin SimpleXML sınıf almak için görünmüyor olabilir. İşte benim örnek:

test.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:zuq="http://localhost/zuq">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
    <h1>Heading</h1>
    <p>Paragraph</p>
    <zuq:region name="myRegion">
        <div class="myClass">
            <h1><zuq:data name="myDataHeading" /></h1>
            <p><zuq:data name="myDataParagraph" /></p>
        </div>
    </zuq:region>
</body>
</html>

Ben şu ne zaman:

$sxml = simplexml_load_file('test.html');
print_r($sxml);

Bu döndürür:

SimpleXMLElement Object
(
    [head] => SimpleXMLElement Object
        (
            [meta] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [http-equiv] => Content-Type
                            [content] => text/html; charset=utf-8
                        )

                )

            [title] => Untitled Document
        )

    [body] => SimpleXMLElement Object
        (
            [h1] => Heading
            [p] => Paragraph
        )

)

Ama şu ne zaman:

$sxml = simplexml_load_file('test.html');
$sxml_zuq = $sxml->children('zuq', true);
print_r($sxml_zuq);

Bu boş döndürür:

SimpleXMLElement Object
(
)

foreach ile nesne yineleme ya da çalışmak için görünmüyor ve URI yerine children() da başarısız olarak önek kullanarak.

Açıkçası bir yerde hata yaptık, ama emin değilim, nerede benim girişimi benim okuma rastlamak pek öğretici örnekler oldukça aynıdır gibi.

Burada neler oluyor?

0 Cevap