有没有办法通过节点名称获取简单的 XML 子元素?
Django modify model instance from HTML
在 PHP 中,是否存在通过节点名称(递归)获取一个或多个子元素的现有方法,或者您是否必须自己为此编写一个函数?
例如,这是我的 XML:
<parent>
<child>
<grandchild>Jan</grandchild>
<grandchild>Kees</grandchild>
</child>
</parent>
我正在寻找一种 returns 类似的方法:
大批(
[0] => 'Jan',
[1] => 'Kees'
)
通过调用类似的东西:
$grandchildren = $xml->children('grandchild');
根据文档确实存在上述内容,但仅适用于命名空间。
e:下面接受的答案有效。这是我运行测试出来的
$xml = '
<parent>
<child>
<grandchild>Jan</grandchild>
<grandchild>Kees</grandchild>
</child>
</parent>';
$L_o_xml = new SimpleXMLElement($xml);
$L_o_child = $L_o_xml->xpath('//grandchild');
foreach( $L_o_child as $hi ){
print "\n".(string)$hi;
}
简单打印:
Jan
Kees
你问的根本没有任何意义。 HTML 只是发送到浏览器显示。如果不向服务器发出某种请求,你就不能做任何事情 "from HTML",除非该请求被某些代码接收到,否则服务器不会做任何事情 - 例如连接到 URL.
的视图
如果你想在不刷新页面的情况下发生某些事情,你需要使用Ajax。您可以使用一个简单的 Ajax POST 来切换值并保存它的视图 - 它只需要前端和后端之间的十几行代码。
在 PHP 中,是否存在通过节点名称(递归)获取一个或多个子元素的现有方法,或者您是否必须自己为此编写一个函数?
例如,这是我的 XML:
<parent>
<child>
<grandchild>Jan</grandchild>
<grandchild>Kees</grandchild>
</child>
</parent>
我正在寻找一种 returns 类似的方法: 大批( [0] => 'Jan', [1] => 'Kees' )
通过调用类似的东西:
$grandchildren = $xml->children('grandchild');
根据文档确实存在上述内容,但仅适用于命名空间。
e:下面接受的答案有效。这是我运行测试出来的
$xml = '
<parent>
<child>
<grandchild>Jan</grandchild>
<grandchild>Kees</grandchild>
</child>
</parent>';
$L_o_xml = new SimpleXMLElement($xml);
$L_o_child = $L_o_xml->xpath('//grandchild');
foreach( $L_o_child as $hi ){
print "\n".(string)$hi;
}
简单打印:
Jan
Kees
你问的根本没有任何意义。 HTML 只是发送到浏览器显示。如果不向服务器发出某种请求,你就不能做任何事情 "from HTML",除非该请求被某些代码接收到,否则服务器不会做任何事情 - 例如连接到 URL.
的视图如果你想在不刷新页面的情况下发生某些事情,你需要使用Ajax。您可以使用一个简单的 Ajax POST 来切换值并保存它的视图 - 它只需要前端和后端之间的十几行代码。