php - php:Xpath Ant 唯一ID

标签 php xpath

我使用PHP和Xpath,当保存数据时,我需要插入唯一的ID。
如在SQL中自动递增。

如何在Xpath中做到这一点?
文件:

<info>
  <id>1</id>
  <name>test</name>
</info>
<info>
  <id>2</id>
  <name>some</name>
</info>
....
<id>5</id>
<name>testttt</id>

最佳答案

我相信会是这样的:

//info[last()]/id


因此,使用每个示例的PHP DOMDocument:

$dom = new DOMDocument;
$dom->load('data.xml');

$xpath = new DOMXPath($dom);
$lastId = $xpath->query('//info[last()]/id')->item(0)->nodeValue;
$nextId = $lastId+1;


上面假设最后一个节点的ID最大。

在您的情况下,仅凭XPath不可能计算下一个ID。 XPath 2.0提供了max函数来执行此操作:

max(//info/id)


但是,PHP内置库尚未支持XPath 2.0。

关于php - php:Xpath Ant 唯一ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4503687/

相关文章:

php - 如何在数组中回显数组?

java - Xpath - 通过通配符或 boolean 操作查找以相同名称开头的节点?

python - 使用 Scrapy 和 XPath 解析表中的信息

javascript - 重启后检查本地服务器

javascript - 可见时加载js

python - 两个独立路径的 XPath?

javascript - 获取 HTML/DOM 的所有元素的 XPATH

xslt - 获取您不知道名称的属性的值

javascript - 如何在 Symfony 3 中获取 ajax 请求的 post 参数

php - 通过安排 PHP/MySQL INSERT 按日期发布文章