php - 修改 XML 属性 PHP DOM

标签 php xml

我有一个看起来像这样的 XML 文件。

<collections id="my collections">
 <category id="my category">
   <record id="my record">
     <title>Some Info</title>
   </record>
 </category>
</collections>

我正在寻找用新属性替换上述 XML 文件中的任何属性的方法,使用 PHP DOM 和 Xpath。 非常感谢任何帮助

最佳答案

不确定你到底想做什么,但总体思路是:


例如,在这里,您可以使用这样的东西:

$str = <<<XML
    <collections id="My Collections">
     <category id="my category">
       <record id="my record">
         <title>Some Info</title>
       </record>
     </category>
    </collections>
XML;

$dom = new DOMDocument();
$dom->loadXML($str);

$xpath = new DOMXPath($dom);
$elements = $xpath->query('//record[@id="my record"]');
if ($elements->length >= 1) {
    $element = $elements->item(0);
    $element->setAttribute('id', "glop !");
}
echo '<pre>' . htmlspecialchars($dom->saveXML()) . '</pre>';


这将用“glop !”替换它标识的节点上的 id 属性 my record,您将获得以下 XML 作为输出:

<?xml version="1.0"?>
<collections id="My Collections">
     <category id="my category">
       <record id="glop !">
         <title>Some Info</title>
       </record>
     </category>
    </collections>

关于php - 修改 XML 属性 PHP DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723816/

相关文章:

javascript - 将 XML 解析为 HTML/JS

MySQL : XML from a resultset?

xml - 如何创建条件 Xpath 语句?

php - PHP 中的分页(分页注释)

php - 根据 WooCommerce 中的产品自定义字段和产品类别隐藏添加到购物车按钮

c# - Web API 返回 XML

php - 将 xml 提要导入 MySQL 数据库时替换特殊字符

php - MySQL哈希函数的实现

javascript - 需要使用 Vue.js 或 Javascript 在 Electron 中播放 WAV 文件,Chrome 不支持 WAV

php mysql_query 相关查询