我将一个 XML 文件加载到 PHP DOM 操作系统中,如下所示:
$xml = file_get_contents('something.xml');
$dom = new DOMDocument();
$dom->loadXML($xml);
XML 文件中有各种带有 XMLNS 标签的元素,类似于以下内容:
<email xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple">example@email.com</email>
<graphic xlink:href="example-image.tif" alt-version="no" mimetype="image" position="float" xlink:type="simple"></graphic>
我想去掉诸如“xmlns:xlink”和“xlink:type”之类的属性而不删除元素。
是否有一个 xpath 查询将返回每个元素的属性名称 = "xmlns:xlink" 或 "xlink:type" 或...什么?
我试过这样的事情:
$xpath->query('//*[@xmlns:xlink]')
或者
$xpath->query('//*[@xmlns:xlink=*]')
但那些不起作用;我只是在黑暗中刺伤。我真的无法为 xpath 找到一个好的参考,因此非常欢迎一些体面的阅读以及对这个问题的回答。我能够为除此之外的所有其他相关场景生成 xqueries。