我使用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/