XMLReader-获取文档中的所有名称空间

问题描述 投票:0回答:2

是否有一种使用XMLReader在XML文档中获取名称空间的方法?现在,我正在使用SimpleXMLElement::getDocNamespaces()来完成这项工作,但是由于我正在处理相当大的文档,因此存在一个缺点,因为据我所知,SimpleXML会立即就内存使用情况加载整个文档。

感谢您的帮助!

php xml php-7 xml-namespaces xmlreader
2个回答
0
投票

基于https://stackoverflow.com/a/12652385/1213708中的代码,该代码显示了如何使用XMLReader读取文档的属性,这仅检查该属性是否具有xmlns前缀,如果存在,则使用以下命令将其添加到名称空间列表中前缀(即localName值)/ URI(即属性值)...


0
投票

要读取带有名称空间的XML,您不需要知道文档中使用的前缀。您需要了解并比较名称空间URI。所以不要比较XMLReader::$name,但是XMLReader::$localNameXMLReader::$namespaceURI

© www.soinside.com 2019 - 2024. All rights reserved.