SimpleXMLElement 按数组中的属性查找
SimpleXMLElement find by attribute in array
我正在尝试从 SimpleXMLElement 中过滤一个节点,这是我收到的,有两个节点:Accessibility 和 Activity 这些属性嵌套在我的 $xml.
中
我需要获取id为'Activity'的节点的节点数据,例如
我试过的
当我尝试 $xml->symbol
它 returns 数组的第一个元素有我的两个元素,而不是数组
当我尝试 $xml->children()
它 returns 与 '$xml'
返回的结果完全相同
使用Xpath test = $xml->xpath('/symbol');
这个returns一个空数组,所以我不知道如何看得更深
SimpleXml
object(SimpleXMLElement)#137 (1) {
["symbol"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#135 (2) {
["@attributes"]=>
array(2) {
["viewBox"]=>
string(9) "0 0 24 24"
["id"]=>
string(13) "accessibility" <---------------
}
}
[1]=>
object(SimpleXMLElement)#142 (2) {
["@attributes"]=>
array(2) {
["viewBox"]=>
string(9) "0 0 24 24"
["id"]=>
string(8) "activity" <---------------
}
}
}
}
XML 来源
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
<symbol viewBox="0 0 24 24" id="accessibility">
<path d="M2 16L2.8 14M6 16L5.2 14M5.2 14L4 11L2.8 14M5.2 14H2.8"/>
<path d="M20 13L22 10M20 13L18 10M20 13L20 16"/>
<path d="M8 12L10 10V16"/>
<path d="M13 12L15 10V16"/>
</symbol>
<symbol viewBox="0 0 24 24" id="activity">
<polyline points="21 14 18 14 15 7 10 17 7 11 5 14 3 14"/>
</symbol>
</svg>
到 select symbol
属性 id
等于 "activity"
的节点尝试 XPath
'//*[name()="symbol" and @id="activity"]'
我正在尝试从 SimpleXMLElement 中过滤一个节点,这是我收到的,有两个节点:Accessibility 和 Activity 这些属性嵌套在我的 $xml.
中我需要获取id为'Activity'的节点的节点数据,例如
我试过的
当我尝试
$xml->symbol
它 returns 数组的第一个元素有我的两个元素,而不是数组当我尝试
返回的结果完全相同$xml->children()
它 returns 与 '$xml'使用Xpath
test = $xml->xpath('/symbol');
这个returns一个空数组,所以我不知道如何看得更深
SimpleXml
object(SimpleXMLElement)#137 (1) {
["symbol"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#135 (2) {
["@attributes"]=>
array(2) {
["viewBox"]=>
string(9) "0 0 24 24"
["id"]=>
string(13) "accessibility" <---------------
}
}
[1]=>
object(SimpleXMLElement)#142 (2) {
["@attributes"]=>
array(2) {
["viewBox"]=>
string(9) "0 0 24 24"
["id"]=>
string(8) "activity" <---------------
}
}
}
}
XML 来源
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
<symbol viewBox="0 0 24 24" id="accessibility">
<path d="M2 16L2.8 14M6 16L5.2 14M5.2 14L4 11L2.8 14M5.2 14H2.8"/>
<path d="M20 13L22 10M20 13L18 10M20 13L20 16"/>
<path d="M8 12L10 10V16"/>
<path d="M13 12L15 10V16"/>
</symbol>
<symbol viewBox="0 0 24 24" id="activity">
<polyline points="21 14 18 14 15 7 10 17 7 11 5 14 3 14"/>
</symbol>
</svg>
到 select symbol
属性 id
等于 "activity"
的节点尝试 XPath
'//*[name()="symbol" and @id="activity"]'