您的位置:首页 > 编程语言 > PHP开发

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

2018-01-20 18:17 841 查看
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>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php dom xml