2013-07-01 41 views
1

我正在尝试添加包含冒号的PHP的XML属性。添加带有冒号的PHP的简单XML元素

我希望它看起来像这样:

<record xsi:schemaLocation="http://abc.com/abcItem file:///somename.xsd"> 

我尝试添加像这样的属性:

$record_xml->addAttribute('xsi:schemaLocation','http://abc.com file:///somepath/somename.xsd'); 

,但生成的XML是:

<record schemaLocation="http://abc.com/abcItem file:///somepath/somename.xsd"> 
+0

传递给'的SimpleXMLElement :: addAttribute'是命名空间中的第三参数。 –

回答

2

另外到命名空间前缀(冒号前的部分),必须使用al所以包括相应命名空间URI(作为第三个参数):

$record_xml->addAttribute(
    'xsi:schemaLocation', 
    'http://abc.com file:///somepath/somename.xsd', 
    'http://www.w3.org/2001/XMLSchema-instance' 
); 
+0

正如您所提到的,您也可以在属性名称中添加'xsi:'前缀。 – pozs

+0

谢谢!这工作。 – user2540499