首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的XML DOM结构

PHP中的XML DOM结构
EN

Stack Overflow用户
提问于 2015-01-09 14:56:16
回答 2查看 64关注 0票数 0

如何在PHP中实现以下XML DOM结构?

你能帮我解决这个问题吗?任何建议,帮助都是非常感谢的。

编辑

我已经附上了企图的代码。它不起作用&我不知道我怎么能像上面那样打破它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-09 15:30:28

这不是它的工作方式:

代码语言:javascript
复制
$doc->createElement("name:lname");

元素的名称实际上是lnamename是名称空间的句柄,您必须在某个地方定义它。然后,您需要使用createElementNS()代替。

票数 1
EN

Stack Overflow用户

发布于 2015-01-09 15:35:05

要创建正确的 XML文件,必须将元素声明为命名空间

代码语言:javascript
复制
$employees   = array();
$employees[] = array('name' => 'Albert', 'age' => 34, 'salary' => 10000, 'lname' => 'Vidula');

$dom = new DOMDocument('1.0', 'utf-8');

$domEmployees = $dom->createElement('employees');

foreach($employees as $employee)
{
    $domEmployee = $dom->createElement('employee');

    $domEmployee->appendChild($dom->createElementNS('http://www.w3.org/1999/xhtml', 'name:fname', $employee['name']));
    $domEmployee->appendChild($dom->createElementNS('http://www.w3.org/1999/xhtml', 'name:lname', $employee['lname']));
    $domEmployee->appendChild($dom->createElement('age', $employee['age']));
    $domEmployee->appendChild($dom->createElement('salary', $employee['salary']));

    $domEmployees->appendChild($domEmployee);
}


$dom->appendChild($domEmployees);

echo $dom->saveXML();

产出:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<employees xmlns:name="http://www.w3.org/1999/xhtml">
    <employee xmlns:name="http://www.w3.org/1999/xhtml">
       <name:fname xmlns:name="http://www.w3.org/1999/xhtml">Albert</name:fname>
       <name:lname xmlns:name="http://www.w3.org/1999/xhtml">Vidula</name:lname>               
       <age>34</age>
       <salary>10000</salary>
    </employee>
</employees>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27863306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档