加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:DOMDocument – 带冒号的属性?

发布时间:2020-12-13 13:45:20 所属栏目:PHP教程 来源:网络整理
导读:我正在使用DOMDocument来解析 XML(SVG). 一些节点具有带冒号的属性,如: svg id="svg2" width="1000" height="1000" sodipodi:version="0.32" inkscape:version="0.48.1 " ... 但当我这样做时: $node= DOMDocument-documentElement;foreach($node-childNode
我正在使用DOMDocument来解析 XML(SVG).

一些节点具有带冒号的属性,如:

<svg 
   id="svg2"
   width="1000"
   height="1000"
   sodipodi:version="0.32"
   inkscape:version="0.48.1 "
   ...
>

但当我这样做时:

$node= DOMDocument->documentElement;
foreach($node->childNodes as $key=>$childnode) {
  foreach($childnode->attributes as $attribute) {
    echo $attribute->name."n";
  }
}

带有:的属性是在没有第一部分(命名空间)的情况下打印的

在迭代这样的属性时,如何获取该属性的命名空间?

从OP的评论中回答,nodeName来自 DOMNode.
$node= DOMDocument->documentElement;
foreach($node->childNodes as $key=>$childnode) {
  foreach($childnode->attributes as $attribute) {
    echo $attribute->nodeName."n";
  }
}

原答案:

DOMNode的前缀怎么样?

$node= DOMDocument->documentElement;
foreach($node->childNodes as $key=>$childnode) {
  foreach($childnode->attributes as $attribute) {
    echo $attribute->prefix.":".$attribute->name."n";
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读