0

我讨厌一直寻求帮助,但我被这个绊倒了。我需要做的最后一件事是在我的 xml 文件中添加一个新条目。xml结构是这样的:

<employees>
    <employee EmpID="">
        <first_name></first_name>
        <last_name></last_name>
        <ssnum></ssnum>
        <status></status>
        <contact_info>
                <office_phone></office_phone>
                <email></email>
                <cell_phone></cell_phone>
        </contact_info>
        <access_info level="user">
                <username></username>
                <password></password>
        </access_info>
        <department></department>
        <date_started></date_started>
        <years></years>
        <position></position>
        <salary></salary>
        <e_increase></e_increase>
        <e_raise></e_raise>
        <photo></photo>
    </employee>
</employees>

我想添加一名新员工,并提供所有适当的信息。所有值都已存储在变量中。我研究过类似的事情:

$employees= new SimpleXMLElement;

$employees->loadfile("xml/employee.xml");

$employees->addChild("employee");

$employees->save('xml/employee.xml');

但我不确定如何添加属性,设置正确的子元素等。有人可以给我一个例子吗?我在这里找到的所有东西要么不处理属性,要么没有子元素的子元素。

任何帮助表示赞赏,谢谢!

4

2 回答 2

0

SimpleXML 非常适合遍历/读取 XML 文档,但如果您想添加元素,包括属性等,最好使用功能齐全的库,例如DOM

(您可以添加元素(如您在示例中描述的那样),但它不像普通的 XML 解析器那样 100% 功能齐全 - 因此是“简单”)。

于 2013-04-22T19:15:49.477 回答
0

以下是如何做到这一点sinplexml

$xml = simplexml_load_string($x); // assuming XML in $x

$newemp = $xml->addChild('employee',''); // add <employee>
$newemp->addAttribute('EmpID','9'); // add attribute

$contact = $newemp->addChild('contact_info',''); // add <contact_info> as child of <employee>
$contact->addChild('office_phone','');
于 2013-04-22T22:30:49.777 回答