我正在尝试将新数据附加到现有的xml文件中。这就是我到目前为止所做的:
$doc = new DOMDocument();
$doc->formatOutput = true;
$doc->loadXml('library.xml');
$path = new DOMXPath($doc);
$b=$doc->createElement('book');
$ISBN = $doc->createElement( 'isbn' );
$ISBN->appendChild(
$doc->createTextNode( $_GET['isbn'] )
);
$b->appendChild( $ISBN );
$edition = $doc->createElement( 'edition' );
$edition->appendChild(
$doc->createTextNode( $_GET['ed'] )
);
$b->appendChild( $edition );*/
$doc->save("library.xml");
我在如何获取要插入数据的位置时遇到问题。我看到一些使用query()或者这个:
$query = sprintf('//record[./title[contains(., "%s")]]', $searchString);
但我想知道是否有人可以解释如何写出这条路径。
答案 0 :(得分:0)
//记录[./ title [contains(。,“%s”)]]
是一个xpath查询,它意味着在xml中找到一个title属性包含
的记录节点
searchstring
您需要获得对所需节点的引用,然后将appendChild添加到该节点。您似乎没有附加到现有节点的任何位置
看看如何到达你想要追加的位置 http://php.net/manual/en/domxpath.query.php