Home  >  Article  >  Backend Development  >  How to use PHP's DOM extension?

How to use PHP's DOM extension?

WBOY
WBOYOriginal
2023-05-31 18:40:361151browse

PHP's DOM extension is a PHP library based on the Document Object Model (DOM), which can create, modify and query XML documents. This extension can make the PHP language more convenient to process XML files, allowing developers to quickly implement data analysis and processing of XML files. This article will introduce how to use PHP's DOM extension.

  1. Install DOM extension

First you need to make sure that PHP has installed the DOM extension. If it is not installed, you need to install it first.

In Linux systems, you can use the following command to install the DOM extension:

sudo apt-get install php-dom

In Windows systems, you can use php.ini Introducing extensions into the file:

extension=php_dom.dll

  1. Create an XML document

It is relatively easy to create an XML document using DOM extensions simple. We can create a simple XML document through the following code:

$doc = new DOMDocument();
$root = $doc->createElement("info");
$doc->appendChild($root);

$id = $doc->createElement("id", "001");
$root->appendChild($id);

$name = $doc->createElement("name", "Tom");
$root->appendChild($name);

$age = $doc->createElement("age", "20");
$root->appendChild($age);

$gender = $doc->createElement("gender", "male");
$root->appendChild($gender);

echo $doc->saveXML();

In this code, we first create a DOMDocument object, then create a root node (info) and add it to the DOM document. Next, we created 4 nodes, namely id, name, age and gender, and added them under the root node. Finally, we use the saveXML() method to output the DOM document as an XML string.

  1. Querying XML documents

Using DOM extensions, it is very easy to query data in XML documents. We can query the data in the above XML document through the following code:

$doc = new DOMDocument();
$doc->loadXML($xml);

$info = $doc->getElementsByTagName("info")->item(0);

$id = $info->getElementsByTagName("id")->item(0)->nodeValue;
$name = $info->getElementsByTagName("name")->item(0)->nodeValue;
$age = $info->getElementsByTagName("age")->item(0)->nodeValue;
$gender = $info->getElementsByTagName("gender")->item(0)->nodeValue;

echo "$id $name $age $gender";

First, we create a DOMDocument object and use the loadXML() method to load the XML string into the document. Next, we obtained all the child nodes named info under the root node through the getElementsByTagName() method, and then obtained the data of the id, name, age and gender nodes under the child nodes and output them.

  1. Modify XML document

The content of an XML document can be easily modified using DOM extensions. We can modify the data of the above XML document through the following code:

$doc = new DOMDocument();
$doc->loadXML($xml);

$info = $doc->getElementsByTagName("info")->item(0);

$id = $info->getElementsByTagName("id")->item(0);
$id->nodeValue = "002";

$name = $info->getElementsByTagName("name")->item(0);
$name->nodeValue = "Jerry";

$age = $info->getElementsByTagName("age")->item(0);
$age->nodeValue = "22";

$gender = $info->getElementsByTagName("gender")->item(0);
$gender->nodeValue = "female";

echo $doc->saveXML();

In this code, we first create a DOMDocument object and use the loadXML() method to load the XML string into the document. Next, we obtained the info node under the root node through the getElementsByTagName() method, and then obtained the id, name, age, and gender nodes under the child nodes and modified their node values ​​respectively. Finally, we use the saveXML() method to output the DOM document as an XML string.

Summary

By using PHP's DOM extension, we can create, modify and query XML documents, making XML document data analysis and processing more convenient and faster. In actual development, we can also deeply integrate these operations into our websites or applications to quickly develop and implement various XML data operations.

The above is the detailed content of How to use PHP's DOM extension?. For more information, please follow other related articles on the PHP Chinese website!

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