|
DomDocument->get_element_by_id
Searches for an element with a certain id
()
Related Examples ( Source code ) » domdocument get element by id Examples ( Source code ) » Form value validation Examples ( Source code ) » Form Data Validation With Error Count Examples ( Source code ) » Saving State with a Hidden Field Examples ( Source code ) » Get Text Field value Examples ( Source code ) » Cookie based login form and get last login time Examples ( Source code ) » Login ID Options Examples ( Source code ) » Get uniqid Examples ( Source code ) » md5 and uniqid Examples ( Source code ) » XML file validation Examples ( Source code ) » Delete data from database by ID Examples ( Source code ) » Get MySQL server information Examples ( Source code ) » Get MySQL host information Examples ( Source code ) » Get MySQL client information Examples ( Source code ) » Get data from database query Examples ( Source code ) » Finding the Number of Rows Returned by a SELECT Statement with mysql_num_rows() Code Examples / Notes » domdocument get element by idetienne dot anken
This class is useful for people who haven't the latest release of PHP and would like to search an element with a known ID through a collection of nodes. Example to use it : $domDoc = xmldoc("<root><entity id='e1'></entity><entity id='e2'><titi id='e5'></titi></entity></root>"); $root = $domDoc->root(); $children = $root->child_nodes(); $researchObject = new searchElementById("e5", $children); $resultElement = $researchObject->beginSearching(); The source of the class : class searchElementById { //Class which can find and return an XML node with a specified ID var $numberElements=0; var $numberAttributes=0; var $idToFind; var $tabElements; //Initialization function which accept 2 parameters : //$paramIdToFind : value of the ID to find //$paramTabElements : array of nodes which contains the element to find function searchElementById($paramIdToFind, $paramTabElements) { //Initialization of class variables $this->idToFind = $paramIdToFind; $this->tabElements = $paramTabElements; } //Function starting the research function beginSearching() { //Search and return the element found return $this->searchID($this->tabElements); } //Recursive function searching the desired node function searchID($tabElements) { //Variable of the number of elements $i = 0; //Variable of the number of attributes $j = 0; //Number of nodes in the elements' array $nbreNoeuds = count($tabElements); //Loop on all elements for ($i=0;$i<$nbreNoeuds;$i++) { //Incrementation of the class variable couting the total number of elements $this->compteurElements++; //Extraction of the attributes of the current element $tabAttributs = $tabElements[$i]->attributes(); //Number of attributes in the current element $nbreAttributs = count($tabAttributs); //Loop on all attributes for ($j=0;$j<$nbreAttributs;$j++) { //Incrementation of the class variable couting the total number of attributes $this->numberAttributes++; //Test if the current attribute is the attribute to find if ($tabAttributs[$j]->value==$this->idToFind) { //If yes, return the current element return $tabElements[$i]; } } //Search children nodes of the current element $children = $tabElements[$i]->child_nodes(); if (!is_bool($children)) { //If the current element has children, call recursively this function $result = $this->searchID($children); //If the result is not boolean, return the array if (!is_bool($result)) { return $result; } } } return false; } } |
Change LanguageDomAttribute->name DomAttribute->set_value DomAttribute->specified DomAttribute->value DomDocument->add_root DomDocument->create_attribute DomDocument->create_cdata_section DomDocument->create_comment DomDocument->create_element_ns DomDocument->create_element DomDocument->create_entity_reference DomDocument->create_processing_instruction DomDocument->create_text_node DomDocument->doctype DomDocument->document_element DomDocument->dump_file DomDocument->dump_mem DomDocument->get_element_by_id DomDocument->get_elements_by_tagname DomDocument->html_dump_mem DomDocument->xinclude DomDocumentType->entities() DomDocumentType->internal_subset() DomDocumentType->name() DomDocumentType->notations() DomDocumentType->public_id() DomDocumentType->system_id() DomElement->get_attribute_node() DomElement->get_attribute() DomElement->get_elements_by_tagname() DomElement->has_attribute() DomElement->remove_attribute() DomElement->set_attribute_node() DomElement->set_attribute() DomElement->tagname() DomNode->add_namespace DomNode->append_child DomNode->append_sibling DomNode->attributes DomNode->child_nodes DomNode->clone_node DomNode->dump_node DomNode->first_child DomNode->get_content DomNode->has_attributes DomNode->has_child_nodes DomNode->insert_before DomNode->is_blank_node DomNode->last_child DomNode->next_sibling DomNode->node_name DomNode->node_type DomNode->node_value DomNode->owner_document DomNode->parent_node DomNode->prefix DomNode->previous_sibling DomNode->remove_child DomNode->replace_child DomNode->replace_node DomNode->set_content DomNode->set_name DomNode->set_namespace DomNode->unlink_node DomProcessingInstruction->data DomProcessingInstruction->target DomXsltStylesheet->process() DomXsltStylesheet->result_dump_file() DomXsltStylesheet->result_dump_mem() domxml_new_doc domxml_open_file domxml_open_mem domxml_version domxml_xmltree domxml_xslt_stylesheet_doc domxml_xslt_stylesheet_file domxml_xslt_stylesheet domxml_xslt_version xpath_eval_expression xpath_eval xpath_new_context xpath_register_ns_auto xpath_register_ns xptr_eval xptr_new_context |