[英]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 的評論的回答,來自DOMNode的nodeName
。
$node= DOMDocument->documentElement;
foreach($node->childNodes as $key=>$childnode) {
foreach($childnode->attributes as $attribute) {
echo $attribute->nodeName."\n";
}
}
原答案:
來自DOMNode的prefix
怎么樣?
$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.