PHP DOM操作XML文档,查询遍历结点元素

本文介绍了如何使用PHP的DOM扩展来操作XML文档,包括解析、查询和遍历XML节点元素,以实现对XML数据的有效处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


dom.php(DOM操作XML文档的步骤):

<?php
//dom操作xml的步骤
//实例化dom对象
$dom = new DOMDocument('1.0','utf-8');
//将xml文档转成树模型 
$dom->load('bookstore.xml');
//具体的处理过程

//将结果转成xml文档
$dom->save('newbook.xml');
dom_select.php(查询遍历节点):

<?php
//将bookstore.xml文档中的内容以表格的形式输出到浏览器上
$dom = new DOMDocument('1.0','utf-8');
$dom->load('bookstore.xml'); 

//将结果(DOMDocument)转成xml文档
//$dom->save('newbook.xml');

$titles = $dom->getElementsByTagName('title');
$authors = $dom->getElementsByTagName('author');
$years = $dom->getElementsByTagName('year');
$prices = $dom->getElementsByTagName('price');
//var_dump($titles);
$len = $titles->length;//获取DOMNodelist中包含的节点个数
//$title = $titles->item(0); //获取DOMNodelist中第一个元素
//var_dump($title);
//echo $title->nodeValue;  //获取DOMElement(父类是DOMNode)的值

$tab = "<table width='600' border='1'>";
$tab .= "<tr><th>title</th><th>author</th><th>year</th><th>price</th></tr>";
for ($i = 0 ; $i < $len; $i++) {
	$tab .= "<tr>";
	$tab .= "<td>{$titles->item($i)->nodeValue}</td>";
	$tab .= "<td>{$authors->item($i)->nodeValue}</td>";
	$tab .= "<td>{$years->item($i)->nodeValue}</td>";
	$tab .= "<td>{$prices->item($i)->nodeValue}</td>";
	$tab .= "</tr>";
}
$tab .= "</table>";
echo $tab;

bookstore.xml:

<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
    <book category="COOKING">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
    <book category="CHILDREN">
        <title lang="en">Harry Potter</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="WEB">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
</bookstore>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值