使用PHP添加带有冒号的简单XML元素

4

我正在尝试使用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">

SimpleXMLElement::addAttribute传递的第三个参数是命名空间。 - user142162
1个回答

5

除了命名空间前缀(冒号前的部分)外,你还必须包括相应的命名空间URI(作为第三个参数):

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

你应该像你提到的那样,给属性名称也加上 xsi: 前缀。 - pozs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接