0
我要找的DOMDocument :: createElementNS文件在創建元素/屬性標記名,但我發現在某些情況下,前綴是自動添加的(沒有我在代碼中輸入)。我做了一個examle:PHP有關聯的命名空間
<?php
//Namespaces url
$NS_xx = 'http://xxx';
$NS_yy = 'http://yyy';
$domxml = new DomDocument('1.0', 'UTF-8');
$Country = $domxml->appendChild ($domxml->createElementNS($NS_xx, 'xx:Country')); // Manually entered prefix
$Country->setAttributeNS($NS_xx, 'id', '1'); // Automatically added prefix in result
$State = $Country->appendChild ($domxml->createElementNS($NS_xx,'State')); // Automatically added prefix in result
$Region = $State->appendChild ($domxml->createElementNS($NS_yy, 'yy:Region')); // Manually entered prefix
$Region->setAttributeNS($NS_xx, 'id', '5'); // Automatically added prefix in result
$Town = $Region->appendChild ($domxml->createElement('Town'));
$Town->appendChild ($domxml->createElementNS($NS_yy, 'F', 'New York')); // Automatically added prefix in result
$Town->setAttributeNS($NS_xx, 'zip', '10001'); // Automatically added prefix in result
Header('Content-type: text/xml');
$domxml->formatOutput = true;
echo $domxml->saveXML();
?>
它還給:
<?xml version="1.0" encoding="UTF-8"?>
<xx:Country xmlns:xx="http://xxx" xx:id="1">
<xx:State>
<yy:Region xmlns:yy="http://yyy" xx:id="5">
<Town xx:zip="10001">
<yy:F>New York</yy:F>
</Town>
</yy:Region>
</xx:State>
</xx:Country>
在我看來,如果它已經在父元素曾被添加前綴將自動添加。每次在代碼中是否有任何理由添加該前綴? 如果我手動添加這些前綴在我的代碼文檔說,結果xml將是相同的...
感謝您的回覆 – Mario 2015-03-06 13:32:27