我正在尝试将xml文件中的注释添加到特定元素,每个元素都有唯一的名称。我的文件是翻译文件,因此它只包含字符串元素和复数等。
这是我第一次尝试添加评论时使用的片段:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="debug">You wish you could use that!</string>
<string name="author">foobar</string> <!-- Insert author name here -->
<string name="error">Wutfuq</string> <!-- New! -->
</resources>
这是我的php文件,我尝试在名称为“debug”的元素中添加注释:
<?php
error_reporting(E_ALL);
include "SimpleDOM.php";
$xml = simpledom_load_file("strings.xml");
$xml->xpath("//string[@name='debug']")->insertComment(' This is a test comment ', 'after');
$xml -> asXML('test.xml');
echo "This line should be shown, otherwise there might be some error";
?>
所以我的问题是这不起作用。 整个页面是白色的,没有错误,我的test.xml也不会被创建,所以错误似乎是在我尝试使用xpath时添加注释的行。
我很感激你的帮助,请不要试图说服我使用DOM。
答案 0 :(得分:0)
According to the PHP doc,SimpleXMLElement :: xpath()返回一个数组。你不能用insertComment()链接它。
编辑: 您可以将isertComment与SimpleDom一起使用,但仅限于值:
$result = $xml->xpath("//string[@name='debug']")
$result[0]->insertComment(' This is a test comment ', 'after'); // after, append or before
$xml->asXML('test.xml');