0

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

但我想知道是否有人可以解释路径是如何编写的。

4

1 回答 1

0

//记录[./title[包含(., "%s")]]

是一个 xpath 查询,它意味着在 xml 中找到包含搜索字符串的标题属性的记录
节点

您需要获取对所需节点的引用,然后将其 appendChild。您似乎没有将任何地方附加到现有节点

在此处查看如何获取要附加的位置 http://php.net/manual/en/domxpath.query.php

于 2012-04-08T16:05:19.147 回答