簡體   English   中英

PHP:DOMDocument - 帶有冒號的屬性?

[英]PHP: DOMDocument - attributes with a colon in it?

我正在使用 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";
  }
}

帶有 a: 的屬性在沒有第一部分(命名空間)的情況下打印

在遍歷這樣的屬性時,如何獲取該屬性的命名空間?

當您使用DOMDocument時,您將需要明確使用名稱空間(冒號表示的內容)。

看看這個方法: http://www.php.net/manual/en/domelement.getattributenodens.php

來自 OP 的評論的回答,來自DOMNodenodeName

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

原答案:

來自DOMNodeprefix怎么樣?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM