Is this function working?
Test program:
$dom = new domDocument();
$dom->load("test.xml");
$node = $dom->getElementById("id1");
print_r($node);
Test file:
<?xml version="1.0" encoding="utf-8"?>
<test>
<el1 id="id1"/>
<el2 id="id2"/>
</test>
It seems to me that always a emty object is returned?
Is this function working?
yes.
see:
http://bugs.php.net/bug.php?id=17629
http://bugs.php.net/bug.php?id=16647
for details
chregu
Test program:
$dom = new domDocument();
$dom->load("test.xml");
$node = $dom->getElementById("id1");
print_r($node);Test file:
<?xml version="1.0" encoding="utf-8"?>
<test>
<el1 id="id1"/>
<el2 id="id2"/>
</test>It seems to me that always a emty object is returned?
--
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71
http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB
Is this function working?
yes.see:
http://bugs.php.net/bug.php?id=17629
http://bugs.php.net/bug.php?id=16647for details
I do not understand the workaround?
I am using latest cvs php5
capitalizing the ID's to
<?xml version="1.0" encoding="utf-8"?>
<test>
<el1 ID="id1"/>
<el2 ID="id2"/>
</test>
gives no result.
Should I define a DTD to find the ID's?
Gr,
John
chregu
Test program:
$dom = new domDocument();
$dom->load("test.xml");
$node = $dom->getElementById("id1");
print_r($node);Test file:
<?xml version="1.0" encoding="utf-8"?>
<test>
<el1 id="id1"/>
<el2 id="id2"/>
</test>It seems to me that always a emty object is returned?
--
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71
http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB
Is this function working?
yes.
see:
http://bugs.php.net/bug.php?id=17629
http://bugs.php.net/bug.php?id=16647for details
I do not understand the workaround?
I am using latest cvs php5
you have to define the ids with a DTD. there are no default
"id"-attributes in the XML-specs.
Add:
<!DOCTYPE test [ <!ATTLIST el1 id ID #REQUIRED> <!ATTLIST el2 id ID #REQUIRED>]>
to your XML document, and it should work.
or use XPath to access the nodes:
"//@id='id1'"
chregu
capitalizing the ID's to
<?xml version="1.0" encoding="utf-8"?>
<test>
<el1 ID="id1"/>
<el2 ID="id2"/>
</test>gives no result.
Should I define a DTD to find the ID's?
Gr,
John
chregu
Test program:
$dom = new domDocument();
$dom->load("test.xml");
$node = $dom->getElementById("id1");
print_r($node);Test file:
<?xml version="1.0" encoding="utf-8"?>
<test>
<el1 id="id1"/>
<el2 id="id2"/>
</test>It seems to me that always a emty object is returned?
--
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71
http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB
--
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71
http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB
you have to define the ids with a DTD. there are no default
"id"-attributes in the XML-specs.
Ahh, that clarify's alot.
Add:
<!DOCTYPE test [ <!ATTLIST el1 id ID #REQUIRED> <!ATTLIST el2 id ID #REQUIRED>]>
to your XML document, and it should work.
Thanks for your quick answer, this quireled me al day!
or use XPath to access the nodes:
"//@id='id1'"
Can you give me a pointer how to do that in php5, I thought that this was
not implemented (yet)?
Gr,
John