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> 内容 这种方法不行.我要读取的东西比较特别 展开
<?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> 内容 这种方法不行.我要读取的东西比较特别 展开
2个回答
展开全部
如果你确定XML里只有一套<book></book>,你改不改foreach都是一样的。只不过你循环的这个数组只有一个而已。
你应该考虑的是foreach里边怎么读取这个book的内容,而不是在foreach上。
你所说的“我要读取的东西比较特别”是怎么个特别法?贴出来看看
你应该考虑的是foreach里边怎么读取这个book的内容,而不是在foreach上。
你所说的“我要读取的东西比较特别”是怎么个特别法?贴出来看看
参考资料: http://blog.everalan.com/3.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询