我有一个XML文件中的博客供稿:
<item>
<title>Title</title>
<link>link</link>
<pubDate>Date</pubDate>
</item>
我正在尝试获取并回显以上信息,但它不起作用。这是我的方法:
<?php foreach ($results as $index => $record) : ?>
<div class="col-12">
<?php
echo("
<a class='item'>
<div class='item__card'>
$blogAuthor ->item ->link;
$blogTitle ->item ->title;
$blogDate ->item ->pubDate;
</div>
</a>"
);
?>
</div>
<?php endforeach; ?>
我要去哪里错了?
答案 0 :(得分:0)
假设一个简单的XML文件用于演示,您可以使用DOMDocument
$strxml='<?xml version="1.0" encoding="UTF-8"?>
<rss>
<item>
<title>Title 1</title>
<link>link 1</link>
<pubDate>Date 1</pubDate>
</item>
<item>
<title>Title 2</title>
<link>link 2</link>
<pubDate>Date 2</pubDate>
</item>
</rss>';
$dom=new DOMDocument;
$dom->loadXML( $strxml );
$col=$dom->getElementsByTagName('item');
foreach( $col as $item ){
$title=$item->childNodes[1]->nodeValue;
$link=$item->childNodes[3]->nodeValue;
$pub=$item->childNodes[5]->nodeValue;
echo $title,$link,$pub,'<br />';
}
答案 1 :(得分:0)
使用php您会丢失simplexml_load_string
这是您的代码
<?php
$strxml='<?xml version="1.0" encoding="UTF-8"?>
<rss>
<item>
<title>Title 1</title>
<link>link 1</link>
<pubDate>Date 1</pubDate>
</item>
<item>
<title>Title 2</title>
<link>link 2</link>
<pubDate>Date 2</pubDate>
</item>
</rss>';
$col = simplexml_load_string($strxml);
echo '<pre>';
print_r($col);
foreach( $col as $item ){
$title=$item->title;
echo $title.'<br />';
}
输出:
标题1 标题2