[OT?] content of text nodes

[email protected] (Eric Bourque)
Newsgroups php.xml.dev
Message-ID <[email protected]>
I'm sorry if this is considered off-topic for this list, but I would
like to have something resolved, and this seems like the place where I
will get a correct answer :)

Because in the current version of PHP (4.3) domxml lists get_content()
and set_content() as deprecated, I was wondering what are the "correct"
ways of:

(1) retrieving the content of a text node

(2) changing the content of a text node

(3) setting the content when there is no text child

My current solutions are:

(1)

$nodeset = $dom->get_elements_by_tagname("test");
$first_node = $nodeset[0];
$text_node = $first_node->first_child();
if ($text_node->node_type == XML_TEXT_NODE)
	$content = $text_node->node_value;
}

(2)

For this, if we can't use set_content, we have to actually replace the
text node which seems wasteful:

$nodeset = $dom->get_elements_by_tagname("test");
$first_node = $nodeset[0];
$text_node = $first_node->first_child();
$new_node = $dom->create_text_node("new content");
$text_node->replace($new_node);

(3)

$nodeset = $dom->get_elements_by_tagname("test");
$first_node = $nodeset[0];
if (!$first_node->first_child()){
	$new_node = $dom->create_text_node("first content");
	$first_node->append_child($new_node);
}

Any clarity, corrections or thoughts would be greatly appreciated.

Cheers,

Eric
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.