我对PHP很新,但我正在尝试解析部分RSS提要以呈现为HTML。问题在于,Feed中的每个标签都有一个短划线,这使得很难处理。我尝试过像$ home-> {'pub-code'} - > {'ad-type'}等等,但这似乎也没有用。到目前为止我所拥有的是:
foreach ( $topRSS->channel->item as $home )
{$returnValue .= "<li><span class=\"Title\">".$home->pub-code->ad-type->account-name."</span><br><a class=\"Link\" href=\"#\">".$home->pub-code->ad-type->ad-content."</a></li>";
$counter++;
if ($counter > 4)
break;
}
尝试使用看起来像这样的项目迭代RSS源:
<item>
<pub-code>
<ad-type>
<cat-code>Jobs</cat-code>
<class-code/>
<ad-number>12345</ad-number>
<ad-number>12345</ad-number>
<start-date>03/14/2018</start-date>
<image><image/>
<account-number>12345</account-number>
<account-name>GENE BROWN</account-name>
<addr-1>12533 WALSINGHAM RD</addr-1>
<addr-2/>
<city>LARGO</city>
<state>FL</state>
<postal-code>33774</postal-code>
<ad-content> Content</ad-content>
</ad-type>
</pub-code>
</item>
我确信这是一个简单的语法,但我无法在任何地方找到它的文档。
非常感谢任何帮助。
谢谢!
答案 0 :(得分:0)
根据basic usage section for SimpleXML:
访问包含非字符的XML文档中的元素 允许根据PHP的命名约定(例如连字符) 通过将元素名称封装在大括号和 撇号。
示例#3获取
<line>
<?php include 'example.php'; $movies = new SimpleXMLElement($xmlstr); echo $movies->movie->{'great-lines'}->line; ?>
这取决于PHP的"variable variables"功能。