使用DOM文档将数据附加到xml文件

时间:2012-04-08 15:58:45

标签: php xml

我正在尝试将新数据附加到现有的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);

但我想知道是否有人可以解释如何写出这条路径。

1 个答案:

答案 0 :(得分:0)

//记录[./ title [contains(。,“%s”)]]

是一个xpath查询,它意味着在xml中找到一个title属性包含
的记录节点  searchstring

您需要获得对所需节点的引用,然后将appendChild添加到该节点。您似乎没有附加到现有节点的任何位置

看看如何到达你想要追加的位置 http://php.net/manual/en/domxpath.query.php