DOM basics and how to read xml content using php, domxml
The examples in this article describe the basics of DOM and the method of using PHP to read xml content. Share it with everyone for your reference. The specific analysis is as follows:
DOM (Document Object Model): Document Object Model. The core idea is: treat the xml file as an object model, and then operate the xml file through objects.
PHP performs addition, deletion, modification and query (curd) operations on xml documents. The specific analysis is as follows:
xml document: class.xml
Copy code The code is as follows:
Xiao Qiao
Female
20
Zhou Yu
Male
25
DOM tree structure diagram corresponding to class.xml
php file (operating on xml document)
Query operation cases:
Copy code The code is as follows:
//1. Create a DOMDocument object. This object represents the xml file
$xmldoc = new DOMDocument();
//2. Load the xml file (specify which xml file to parse, then the dom tree node will be loaded into the memory)
$xmldoc->load("class.xml");
//3. Goal: Get the first student’s name
//3.1 The first step is to read all students
$students = $xmldoc->getElementsByTagName("student");//Method getElementsByTagName: Find the corresponding node according to the given node name (here, student), and return an object of DOMNodeList type, which is equivalent to taking out all students. You can use var_dump($students) to view it, and search the manual based on the return value to see the properties and methods below.
echo "There are ".$students->length." students
";
//3.2 Read the first student
$stu1 = $students->item(0);//Read the first student. The return value is a DOMElement object. Directly echo $stu1->nodeValue; will output name, sex, and age.
//3.3 Get the first student’s name
$stu1_name = $stu1->getElementsByTagName("name");
//3.4 Read the name
echo $stu1_name->item(0)->nodeValue;
?>
Note:
(1) Encoding problem;
(2) This is just a basic demonstration, which is quite troublesome. Loops and functions will be used later;
(3) Use var_dump() to check the return value of the variable, and then use the return value to find the attributes and methods under the return value in the manual.
(4) After the entire sequence, getElementByTagName() does not need to read layer by layer. In fact, it can directly read the node name without reading the student first (of course, if there are multiple students under the same student name, there will be a problem, and you need to learn new knowledge points here (xpath).
So the above code can be simply changed to:
Copy code The code is as follows:
//1. Create a DOMDocument object. This object represents the xml file
$xmldoc = new DOMDocument();
//2. Load the xml file (specify which xml file to parse, then the dom tree node will be loaded into the memory)
$xmldoc->load("class.xml");
//3. Goal: Get the first student’s name
$stu = $xmldoc->getElementsByTagName("name");//Directly find the node name
$stu1 = $stu->item(0);//When item(1), you can get Zhou Yu
echo $stu1->nodeValue;
?>
I hope this article will be helpful to everyone’s PHP XML programming design.
http://www.bkjia.com/PHPjc/946738.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/946738.htmlTechArticleDOM basics and the method of php reading xml content operation, domxml This article describes the DOM basics and php reading xml Content manipulation methods. Share it with everyone for your reference. The specific analysis is as follows: D...