Home >Backend Development >PHP Tutorial >DOM basics and how to read xml content using php, domxml_PHP tutorial

DOM basics and how to read xml content using php, domxml_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:09:241082browse

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.

www.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...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn