这是xml
<yml_catalog date="2016-03-23 13:33">
<categories>
<category id="1" parentId="0">Test</category>
<category id="131" parentId="1">Test 1</category>
<category id="19" parentId="1">Test 2</category>
<category id="20" parentId="1">Test 3</category>
<category id="21" parentId="1">Test 4</category>
<category id="22" parentId="1">Test 5</category>
我按xpath
获取类别ID var_dump($xmlObject->xpath("//yml_catalog/shop/categories/category[@id='22']"));die;
我得到了这个输出:
array(1) {
[0] =>
class SimpleXMLElement#94 (1) {
public $@attributes =>
array(2) {
'id' =>
string(2) "22"
'parentId' =>
string(1) "1"
}
}
}
问题:如何使用方法xpath获取元素Text 5
?
答案 0 :(得分:2)
通常使用XPath表达式,您可以使用/text()
来获取当前上下文元素的子节点的文本节点,或者使用string()
函数包装整个XPath以将第一个返回的元素转换为{ {1}}:
string
具体使用//yml_catalog/shop/categories/category[@id='22']/text()
string(//yml_catalog/shop/categories/category[@id='22'])
,您可以将元素转换为SimpleXML
,如下所示:
string
输出: var_dump((string)$xmlObject->xpath("//yml_catalog/shop/categories/category[@id='22']")[0]);