XML中的php访问子元素
我正在PHP中使用simplexml解析XML文档。我有以下元素我无法创建到其中一个子元素的正确路径。以下是要素:XML中的php访问子元素,php,xml-parsing,Php,Xml Parsing,我正在PHP中使用simplexml解析XML文档。我有以下元素我无法创建到其中一个子元素的正确路径。以下是要素: <wp:category> <wp:term_id>13</wp:term_id> <wp:category_nicename>cleaner</wp:category_nicename> <wp:category_parent></wp:category_parent> <wp:cat_na
<wp:category>
<wp:term_id>13</wp:term_id>
<wp:category_nicename>cleaner</wp:category_nicename>
<wp:category_parent></wp:category_parent>
<wp:cat_name><![CDATA[CLEANER]]></wp:cat_name>
13
清洁工
我需要访问的元素是
我将使用什么路径访问数据
背风
$wp->类别->类别名称;是元素的路径。我认为您可以将xml作为
DomDocument
导入,而不保留名称空间
$xml ='
<wp:category>
<wp:term_id>13</wp:term_id>
<wp:category_nicename>cleaner</wp:category_nicename>
<wp:category_parent></wp:category_parent>
<wp:cat_name ><![CDATA[CLEANER]]></wp:cat_name>
</wp:category>';
$data = new DOMDocument;
$data->preserveWhiteSpace = FALSE;
$data->loadXml($xml, LIBXML_NOERROR);
foreach($data->documentElement->childNodes as $child)
{
if($child->nodeName == 'cat_name')
{
print_r($child->nodeValue);
}
}
最简单的方法是使用SimpleXMLElementI我猜您使用的是SimpleXML,它对CDATA不起作用-关键字是“简单”;-)-你应该用这个。另外,请展示您迄今为止所做的尝试。我尝试了$wp->category->cat_name;我确信这不会奏效,但我真的没有其他想法。我又打了一次同样的电话,现在看来效果不错。现在想想为什么。(也许是我无端的怀疑)——谢谢你的评论。
CLEANER