Posted by Andy Hassall on 10/30/06 13:12
On 30 Oct 2006 04:45:50 -0800, mananvyas@gmail.com wrote:
>I am working on PHP5 and all the xmldom related extensions are
>installed and on properly.
>I am trying to execute following code but some how not working.
>
>
> $doc = new DomDocument();
> $doc->validateOnParse = true;
> $doc->load('abc.xml');
> //xml file contains one element with this id
> $elem = $doc->getElementById( 'eee' );
>
> if(is_null($elem)) {
> echo "<br>IT IS NULL";
> }
> else {
> echo "<br>NOT NULL.";
> }
>
>The output shows me null every time...
>Why is that?????
The manual hints towards why:
"According to the DOM standard this requires a DTD which defines the attribute
ID to be of type ID. You need to validate your document with
DOMDocument->validate() or DOMDocument->validateOnParse before using this
function."
You've set validateOnParse, but you haven't posted the contents of abc.xml.
Does it include a DTD that defines ID?
There is a link in the user contributed notes to the following site that
explains all:
http://blog.bitflux.ch/wiki/GetElementById_Pitfalls
--
Andy Hassall :: andy@andyh.co.uk :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
Navigation:
[Reply to this message]
|