PHP使用XML文件作为数据存储库

PHP使用XML文件作为数据存储库,php,xml,xpath,simplexml,Php,Xml,Xpath,Simplexml,我有一个简单的PHP应用程序,它使用MySQL DB,但我认为对于如此简单的操作来说,使用DB可能是不必要的 无论如何,我发现XML操作存在一些问题 假设我想要这样的XML结构: <root> <experiment> <name>test</name> <accessCount>5</accessCount> <downloadEntry>

我有一个简单的PHP应用程序,它使用MySQL DB,但我认为对于如此简单的操作来说,使用DB可能是不必要的

无论如何,我发现XML操作存在一些问题

假设我想要这样的XML结构:

<root>
    <experiment>
       <name>test</name>
       <accessCount>5</accessCount>
       <downloadEntry>
           <date>2015-11-27</date>
           <comment>comment</comment>
       </downloadEntry>
       <downloadEntry>
           <date>2015-11-28</date>
           <comment>comment</comment>
       </downloadEntry>
    </experiment>
</root>

测试
5.
2015-11-27
评论
2015-11-28
评论
现在我想知道,如何进行这些操作:

  • 对名为“test”的实验的下载条目(下载条目节点数)进行计数。通过XPATH
  • 获取名为test的experimetn的下载条目-但我想对此进行分页。因此,以某种方式获得下载条目,如限制0,5
  • 最大的问题是,当没有实验时——XML就是这样——用simplexml_load_文件加载XML失败。我打不开。是的,我可以添加条件-如果XML为空,请不要打开它。但是我需要给它写信,如果它没有打开,我就不能写
  • 有解决办法吗


    谢谢大家

    这在XML和XPath中是可能的,但是如果您认为单独的数据库服务器(应用程序)需要使用SQLite进行大量工作,那么您应该使用数据库。这不是XML与数据库的问题,而是文件与数据库的问题。好的,这是文件与数据库的问题。你知道我的问题1-3的答案吗?谢谢。找到1、2、3的答案,写一些代码,用更详细的问题编辑你的问题。TackOverflow最好一次只问一个问题。接下来,你应该找到关于你在问题中涉及的主题的现有问答材料。提供参考并解释您的案例/问题与现有材料之间的差异是一种很好的做法,否则您通常只能得到质量较低的答案。