如何在CDATA中分离数据

时间:2014-04-22 12:21:25

标签: php simplexml cdata

当我在整个文档中使用此代码时:

<?php echo $dataField->categoryName; ?>

以前定义的名称空间$dataField为:

<?php $feed = file_get_contents("http://utah.technologypublisher.com/RssDataFeed.aspx?CaseId=u-4716"); $xml = new SimpleXmlElement($feed); foreach ($xml->channel->item as $entry){$namespaces = $entry->getNameSpaces(true); $dataField = $entry >children($namespaces['dataField']);} ?>

我得到Diagnostics| Engineering & Manufacturing作为输出。

每当一个类别是单数的,工作得很好(不会有“|”)但我需要分开数据,以便“诊断”和“工程与制造”出现在他们自己的行上。有时可能有多达四个类别,我需要一种方法来提取它们(有超过30个类别)。我可以这样做:

<?php if (strpos($dataField->categoryName[0], '|') !== FALSE) print_r(explode('|', $dataField->categoryName[0], 4)); ?> 

但结果是:

Array ( [0] => Diagnostics [1] => Engineering & Manufacturing )

我不希望它们打印成阵列。每当数据被“|”分隔时我需要各自的类别。关于如何做到这一点的任何想法?这可能很简单。

感谢任何帮助。

0 个答案:

没有答案