【问题标题】:Adding a new entry to an XML file in PHP在 PHP 中向 XML 文件添加新条目
【发布时间】:2013-04-15 19:29:44
【问题描述】:

我讨厌一直寻求帮助,但我被这个绊倒了。我需要做的最后一件事是在我的 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');

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

感谢任何帮助,谢谢!

【问题讨论】:

  • 您可能想查看文档中的示例。php.net/manual/en/simplexmlelement.addattribute.php
  • 我去过那里,但我无法确定示例的正面或反面。我不明白去哪里做什么......
  • 只需查看@Kevin 链接页面上的示例#1 将属性和子元素添加到 SimpleXML 元素。都在里面。它就在那里 :) - 尝试他们在那里概述的内容,如果它仍然不起作用,请通过在此处更新您的问题来显示您已经走了多远。

标签: php xml append simplexml


【解决方案1】:

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

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

【讨论】:

  • 我的大部分应用程序都使用 DOM。不过,我没有找到关于 DOM 的信息。
【解决方案2】:

下面是使用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','');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多