You kind of have to have a custom php build anyway because DOMXML stuff isn't part of the RH php installation. I've got rpms for RH 7.2 if that will help. They don't have the get_content stuff, but I could add that to my custom patch (that fixes bug #14934) no problem. Besides, it'll be in the next release; it's not "custom code" in the purest definition of the term.
Joseph > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, February 13, 2002 11:04 AM > To: [EMAIL PROTECTED] > Subject: Bug #15530 Updated: conent of node node correct reading new DOM > value after set_content of node > > > ID: 15530 > Updated by: [EMAIL PROTECTED] > Reported By: [EMAIL PROTECTED] > Status: Open > Bug Type: DOM XML related > Operating System: RedHat 7.2 > PHP Version: 4.1.1 > New Comment: > > Any other workaround for the get_content problem? We can use a custom > php build on our development machines, but cant on the server where the > code will actually be going. > > Thanks > > > Previous Comments: > ------------------------------------------------------------------------ > > [2002-02-13 10:43:55] [EMAIL PROTECTED] > > The problem is that the content property is going away, so that > property is not set. This is why it's not being updated. It's being > replaced by a get_content() function. This is in CVS at this very > moment. > > As for the appending of xml contents, the comment in the code is as > follows: > // FIXME: another gotcha. If node has children, calling > // xmlNodeSetContent will remove the children -> we loose the zval's > // To prevent crash, append content if children are set > > > I think if you just used the get_content() function instead of the > ->content property that your problem would go away. Of course you're > going to have to pull it from CVS. > > ------------------------------------------------------------------------ > > [2002-02-12 16:18:23] [EMAIL PROTECTED] > > The following simplied script shows that when we update the value of a > node, the DOM is updated as shown through the dump. When you try to > read the content of the node however, it returns the origional value. > > > If this is a bug, is there any known workaround to get the desired > result? > > Also, we had to use the set_content as provided in the script because > if a node already has a value and we try to call set_content directly > on the node rather than on the the text element (value node), it > appends the data to the node rather than overwriting the exisitng > value. > > XPath is used in here as our real XML data is quite complex so needed > to illustrate how we were finding the correct node. > > <? > $xmltest = "<root_node><node1>ORG VALUE</node1></root_node>"; > $mydoc = xmldoc($xmltest); > echo "<pre>".$mydoc->dumpmem()."</pre><br>"; > $ctx=$mydoc->xpath_new_context(); > $query_xo = xpath_eval($ctx,"/root_node/node1"); > $oNode = $query_xo->nodeset[0]; > if (is_null($oNode)) { > $root = $$mydoc->root(); > $root->new_child("node1", "empty"); > } else { > $tNode = $oNode->first_child(); > $tNode->set_content("VALUE1"); > } > echo "<pre>".$mydoc->dumpmem()."</pre><br>"; > $ctx2=$mydoc->xpath_new_context(); > $query_xo = xpath_eval($ctx2,"/root_node/node1"); > $oNode = $query_xo->nodeset[0]; > if (! is_null($oNode)) { > $tNode = $oNode->first_child(); > $strValue = $tNode->content; > } > echo "<br>GET VAL".$strValue."<br>"; > echo "<pre>".$mydoc->dumpmem()."</pre>"; > ?> > > > ------------------------------------------------------------------------ > > > -- > Edit this bug report at http://bugs.php.net/?id=15530&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php