PHP如何创建特殊元素<eanucc:countryisocode xmlns:eanucc =“ urn:ean.ucc:2”>

时间:2018-10-18 08:59:35

标签: php xml

我正在尝试在php中创建以下元素,以创建我们的一位客户所需的xml。

一切正常,但我无法找出创建以下元素的方法

enter image description here

我尝试了几种方法,但仍然无法正确生成上述示例

有人可以让我走吗?

这就是我的编码方式

$eanucc_countryISOCode = $dom->createElement('eanucc','BE');
$eanucc_countryISOCode->setAttribute('xmlns', 'urn:ean.ucc:2');

2 个答案:

答案 0 :(得分:0)

xmlns:eanucc是命名空间urn:ean.ucc:2的命名空间定义。使用支持名称空间的DOM方法(后缀NS)。

$document = new DOMDocument();
$document
  ->appendChild(
    $document->createElementNS('urn:ean.ucc:2', 'eanucc:countryISOCode')    
  )
  ->appendChild(
    $document->createTextnode('BE')    
  );

echo $document->saveXML();

输出:

<?xml version="1.0"?>
<eanucc:countryISOCode xmlns:eanucc="urn:ean.ucc:2">BE</eanucc:countryISOCode>

答案 1 :(得分:-1)

这种语法是正确的!

$eanucc_countryISOCode = $doc->createElement('eanucc:countryISOCode','BE');
$eanucc_countryISOCode->setAttribute('xmlns:eanucc', 'urn:ean.ucc:2');
...->appendChild( $eanucc_countryISOCode );

结果:

<eanucc:countryISOCode xmlns:eanucc="urn:ean.ucc:2">BE</eanucc:countryISOCode>