我们正在尝试生成一些命名空间的XML(属性和所有),但我们在PHP中输出带有SimpleXML和DOMDocument的前缀时会注意到一些问题。这是我们的测试输出:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:a="http://default" xmlns:b="http://extra" xmlns="http://default">
<a:test_default>alpha</a:test_default>
<b:test_extra>bravo</b:test_extra>
</root>
我问的原因 - 我们想在命名空间中包含属性,但我们知道属性不会占用其包含元素的命名空间。我们的节点通常有一个默认命名空间。因此,我们总结了一个前缀命名空间声明也是必需的。但是,通过SimpleXML或DOMDocument生成XML时,前缀永远不会添加到属性中。
有更好的方法吗?我们试图避免为XML中的每个元素添加前缀 - 利用默认值使内容更具可读性。
答案 0 :(得分:0)
是的,这样做很好。例如,它通常在XSD中完成。