[PHP-DEV] Bug #10994 Updated: DOMXML CDATA Node Bug
ID: 10994 Updated by: mfischer Reported By: [EMAIL PROTECTED] Old Status: Assigned Status: Closed Bug Type: DOM XML related Operating System: Winnt PHP Version: 4.0.5 Assigned To: mfischer New Comment: Should be fixed in CVS. Closing. Previous Comments: [2001-11-30 21:00:47] [EMAIL PROTECTED] Update: Fix is coming, assigned to me. Btw, the syntax has changed since then, you'll have to use: print_r($arr[2]-children()); to see your CDATA node then. [2001-11-22 03:36:00] [EMAIL PROTECTED] Can you try with latest RC and see if it works http://www.php.net/~zeev/php-4.1.0RC3.tar.gz Feedback. [2001-05-21 13:49:12] [EMAIL PROTECTED] Hello Dear PHP Support. I have compatability problem with PHP 4.04 - PHP 4.05, exactly in DOMXML (i mean) module. This is piece of my code: - ? function XML_Def_Parse($xml_file) { $doc = xmldoc(join(, file($xml_file)) ); $ctx = xpath_new_context($doc ); // $doc_vars = xml_parse_vars($ctx, //DOC/VAR); $obj = xpath_eval($ctx, //DOC/BLOCKS/BLOCK); $arr = $obj-nodeset; for($block_n=1; $block_nsizeof($arr)+1; ++$block_n) { $block_vars = xml_parse_vars($ctx, //DOC/BLOCKS/BLOCK[$block_n]/VAR); $obj2 = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET); $arr2 = $obj2-nodeset; for($blockset_n=1; $blockset_nsizeof($arr2)+1; ++$blockset_n) { $myobj = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]); $myarr = $myobj-nodeset; $blockset_type = $myarr[0]-getattr(type); // $obj3 = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]/BLOCKSETELEMENT); $arr3 = $obj3-nodeset; $blocksetelements = array(); for($blocksetelement_n=1; $blocksetelement_nsizeof($arr3)+1; ++$blocksetelement_n) { $blocksetelement_vars = xml_parse_vars($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]/BLOCKSETELEMENT[$blocksetelement_n]/VAR); $blocksetelements[] = $blocksetelement_vars; } //$blocksets[$blockset_type] = array(array(sa=as),array(s2=a2)); $blocksets[$blockset_type] = $blocksetelements; } $blocks[] = array_merge($block_vars, $blocksets); } $blocks_arr = array(BLOCKS=$blocks); $doc_v = array_merge($doc_vars, $blocks_arr); } function xml_parse_vars($ctx,$path) { $obj = xpath_eval($ctx, $path); $arr = $obj-nodeset; if($path == //DOC/BLOCKS/BLOCK[1]/BLOCKSET[2]/BLOCKSETELEMENT[1]/VAR) { print_r($arr); } for($x=0; $xsizeof($arr); ++$x) { $name = $arr[$x]-getattr(name); $value = $arr[$x]-content; $results[$name] = $value; } return $results; } //function XML_Def_Parse(kulichki.xml); ? --- This is kulichki.xml: -- ?xml version=1.0? DOC version=1.0
[PHP-DEV] Bug #10994 Updated: DOMXML CDATA Node Bug
ID: 10994 Updated by: mfischer Reported By: [EMAIL PROTECTED] Old Status: Feedback Status: Assigned Bug Type: DOM XML related Operating System: Winnt PHP Version: 4.0.5 Old Assigned To: Assigned To: mfischer New Comment: Update: Fix is coming, assigned to me. Btw, the syntax has changed since then, you'll have to use: print_r($arr[2]-children()); to see your CDATA node then. Previous Comments: [2001-11-22 03:36:00] [EMAIL PROTECTED] Can you try with latest RC and see if it works http://www.php.net/~zeev/php-4.1.0RC3.tar.gz Feedback. [2001-05-21 13:49:12] [EMAIL PROTECTED] Hello Dear PHP Support. I have compatability problem with PHP 4.04 - PHP 4.05, exactly in DOMXML (i mean) module. This is piece of my code: - ? function XML_Def_Parse($xml_file) { $doc = xmldoc(join(, file($xml_file)) ); $ctx = xpath_new_context($doc ); // $doc_vars = xml_parse_vars($ctx, //DOC/VAR); $obj = xpath_eval($ctx, //DOC/BLOCKS/BLOCK); $arr = $obj-nodeset; for($block_n=1; $block_nsizeof($arr)+1; ++$block_n) { $block_vars = xml_parse_vars($ctx, //DOC/BLOCKS/BLOCK[$block_n]/VAR); $obj2 = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET); $arr2 = $obj2-nodeset; for($blockset_n=1; $blockset_nsizeof($arr2)+1; ++$blockset_n) { $myobj = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]); $myarr = $myobj-nodeset; $blockset_type = $myarr[0]-getattr(type); // $obj3 = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]/BLOCKSETELEMENT); $arr3 = $obj3-nodeset; $blocksetelements = array(); for($blocksetelement_n=1; $blocksetelement_nsizeof($arr3)+1; ++$blocksetelement_n) { $blocksetelement_vars = xml_parse_vars($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]/BLOCKSETELEMENT[$blocksetelement_n]/VAR); $blocksetelements[] = $blocksetelement_vars; } //$blocksets[$blockset_type] = array(array(sa=as),array(s2=a2)); $blocksets[$blockset_type] = $blocksetelements; } $blocks[] = array_merge($block_vars, $blocksets); } $blocks_arr = array(BLOCKS=$blocks); $doc_v = array_merge($doc_vars, $blocks_arr); } function xml_parse_vars($ctx,$path) { $obj = xpath_eval($ctx, $path); $arr = $obj-nodeset; if($path == //DOC/BLOCKS/BLOCK[1]/BLOCKSET[2]/BLOCKSETELEMENT[1]/VAR) { print_r($arr); } for($x=0; $xsizeof($arr); ++$x) { $name = $arr[$x]-getattr(name); $value = $arr[$x]-content; $results[$name] = $value; } return $results; } //function XML_Def_Parse(kulichki.xml); ? --- This is kulichki.xml: -- ?xml version=1.0? DOC version=1.0 copyright=(c) Denis Torbichuk, 2000 VAR name=DOC_CODEKULICHKI.TV/VAR VAR name=DOC_DESCÏðîãðàììà
[PHP-DEV] Bug #10994 Updated: DOMXML CDATA Node Bug
ID: 10994 Updated by: mfischer Reported By: [EMAIL PROTECTED] Old Status: Open Status: Feedback Bug Type: DOM XML related Operating System: Winnt PHP Version: 4.0.5 New Comment: Can you try with latest RC and see if it works http://www.php.net/~zeev/php-4.1.0RC3.tar.gz Feedback. Previous Comments: [2001-05-21 13:49:12] [EMAIL PROTECTED] Hello Dear PHP Support. I have compatability problem with PHP 4.04 - PHP 4.05, exactly in DOMXML (i mean) module. This is piece of my code: - ? function XML_Def_Parse($xml_file) { $doc = xmldoc(join(, file($xml_file)) ); $ctx = xpath_new_context($doc ); // $doc_vars = xml_parse_vars($ctx, //DOC/VAR); $obj = xpath_eval($ctx, //DOC/BLOCKS/BLOCK); $arr = $obj-nodeset; for($block_n=1; $block_nsizeof($arr)+1; ++$block_n) { $block_vars = xml_parse_vars($ctx, //DOC/BLOCKS/BLOCK[$block_n]/VAR); $obj2 = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET); $arr2 = $obj2-nodeset; for($blockset_n=1; $blockset_nsizeof($arr2)+1; ++$blockset_n) { $myobj = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]); $myarr = $myobj-nodeset; $blockset_type = $myarr[0]-getattr(type); // $obj3 = xpath_eval($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]/BLOCKSETELEMENT); $arr3 = $obj3-nodeset; $blocksetelements = array(); for($blocksetelement_n=1; $blocksetelement_nsizeof($arr3)+1; ++$blocksetelement_n) { $blocksetelement_vars = xml_parse_vars($ctx, //DOC/BLOCKS/BLOCK[$block_n]/BLOCKSET[$blockset_n]/BLOCKSETELEMENT[$blocksetelement_n]/VAR); $blocksetelements[] = $blocksetelement_vars; } //$blocksets[$blockset_type] = array(array(sa=as),array(s2=a2)); $blocksets[$blockset_type] = $blocksetelements; } $blocks[] = array_merge($block_vars, $blocksets); } $blocks_arr = array(BLOCKS=$blocks); $doc_v = array_merge($doc_vars, $blocks_arr); } function xml_parse_vars($ctx,$path) { $obj = xpath_eval($ctx, $path); $arr = $obj-nodeset; if($path == //DOC/BLOCKS/BLOCK[1]/BLOCKSET[2]/BLOCKSETELEMENT[1]/VAR) { print_r($arr); } for($x=0; $xsizeof($arr); ++$x) { $name = $arr[$x]-getattr(name); $value = $arr[$x]-content; $results[$name] = $value; } return $results; } //function XML_Def_Parse(kulichki.xml); ? --- This is kulichki.xml: -- ?xml version=1.0? DOC version=1.0 copyright=(c) Denis Torbichuk, 2000 VAR name=DOC_CODEKULICHKI.TV/VAR VAR name=DOC_DESCÏðîãðàììà òåëåïåðåäà÷ íà Kulichki/VAR VAR name=DOC_URLtv6.htm/VAR BLOCKS BLOCK number=1 VAR name=BLOCK_DESCÎáùèé áëîê/VAR VAR name=BLOCK_BEGIN/VAR VAR name=BLOCK_END/VAR