Php 我可以使用对象表示法访问具有命名空间的SimpleXMLElement子级吗?

Php 我可以使用对象表示法访问具有命名空间的SimpleXMLElement子级吗?,php,xml,Php,Xml,我想在simplexmlement上执行类似操作: $el = $xml->{'alias:child'} 我不想使用children(),也不想使用xpath(),也不想预先去掉名称空间 注:合同中未定义前缀。但是,可以使用getNamespaces()预先检索它们,以便使用所需名称空间的正确别名 这可能吗?我认为不可能。理由是前缀不是契约性的,可以随时更改。我已经更新了获取名称空间前缀的方式。这应该始终有效,并且比reg exing更稳定。否决票?不是我的否决票。事实上,这个问题比乍

我想在
simplexmlement
上执行类似操作:

$el = $xml->{'alias:child'}
我不想使用
children()
,也不想使用
xpath()
,也不想预先去掉名称空间

注:合同中未定义前缀。但是,可以使用
getNamespaces()
预先检索它们,以便使用所需名称空间的正确别名


这可能吗?

我认为不可能。理由是前缀不是契约性的,可以随时更改。我已经更新了获取名称空间前缀的方式。这应该始终有效,并且比reg exing更稳定。否决票?不是我的否决票。事实上,这个问题比乍一看更有趣。但是我想无论是谁编写了这个工具,都没有考虑过这样的接口。有什么特别的原因不想使用
children()
?另一个解决方案是使用DOMDocument和
getElementsByTagName()
我有在不同嵌套级别使用不同名称空间的xml。在更高的级别上使用
子名称($ns,true)
似乎可以删除所有其他名称空间,甚至可以从孙子中删除。我认为这是不可能的。理由是前缀不是契约性的,可以随时更改。我已经更新了获取名称空间前缀的方式。这应该始终有效,并且比reg exing更稳定。否决票?不是我的否决票。事实上,这个问题比乍一看更有趣。但是我想无论是谁编写了这个工具,都没有考虑过这样的接口。有什么特别的原因不想使用
children()
?另一个解决方案是使用DOMDocument和
getElementsByTagName()
我有在不同嵌套级别使用不同名称空间的xml。在更高的级别上使用
子名称($ns,true)
似乎可以删除所有其他名称空间,甚至从子名称空间中删除。