gpt4 book ai didi

xml - 使用 XML::LibXML 获取范围内的所有命名空间

转载 作者:行者123 更新时间:2023-12-04 04:50:16 25 4
gpt4 key购买 nike

我需要获取 XML::LibXML::Node 范围内的所有命名空间.该模块有一个 getNamespaces()方法,但文档明确指出它

will not return all namespaces that are in scope, but only the ones declared explicitly for that node.



那么如何获取特定节点范围内的所有命名空间呢?

最佳答案

我没有找到任何函数来执行此操作,但使用 XPath 肯定是可能的:

@nodes = $node->findnodes('namespace::*');

这将返回 $node 可见范围内的所有命名空间。 .然后,您可以从返回的 XML::LibXML::Node::Namespace 对象中获取前缀和 URI:
@prefix_uris = map {[ $_->getLocalName, $_->getData]} @nodes;

关于xml - 使用 XML::LibXML 获取范围内的所有命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com