PHP 用 DOM读取 XML 内容

x.xml内容<?xmlversion="1.0"encoding="gb2312"?><books><book><author>aa</author><title>bb... x.xml内容
<?xml version="1.0" encoding="gb2312"?>
<books>
<book>
<author>aa</author>
<title>bb</title>
<publisher>cc</publisher>
</book>
</books>

p.php内容
<?php
$doc = new DOMDocument();
$doc->load( 'x.xml' );

$books = $doc->getElementsByTagName( "book" );
foreach( $books as $book )
{
$authors = $book->getElementsByTagName( "author" );
$author = $authors->item(0)->nodeValue;
$publishers = $book->getElementsByTagName( "publisher" );
$publisher = $publishers->item(0)->nodeValue;
$titles = $book->getElementsByTagName( "title" );
$title = $titles->item(0)->nodeValue;
echo "$title - $author - $publisher\n";
}
?>

我不想重复读取 XML 里面的 <book> </book> 内容 我应该怎么办 上面的 PHP 代码 ”foreach( $books as $book )“ 这个我搞不明白

XML 里面只显示一套 <book> </book> 内容 这种方法不行.我要读取的东西比较特别
展开
 我来答
everalan
2009-06-09 · TA获得超过1820个赞
知道大有可为答主
回答量:799
采纳率:0%
帮助的人:1429万
展开全部
如果你确定XML里只有一套<book></book>,你改不改foreach都是一样的。只不过你循环的这个数组只有一个而已。

你应该考虑的是foreach里边怎么读取这个book的内容,而不是在foreach上。
你所说的“我要读取的东西比较特别”是怎么个特别法?贴出来看看

参考资料: http://blog.everalan.com/3.html

仍笛R0
2009-06-09 · TA获得超过157个赞
知道小有建树答主
回答量:354
采纳率:0%
帮助的人:162万
展开全部
执行这句时,$books = $doc->getElementsByTagName( "book" );
$books里存的内容就是xml里所有<book></book>的内容.并且以数组形式保存的.数组的每一个元素就是一个<book></book>
foreach( $books as $book )就是历遍一次这个数组.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式