首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleXML查询

SimpleXML查询
EN

Stack Overflow用户
提问于 2014-05-28 20:48:02
回答 2查看 593关注 0票数 1

嗨,我的xml有这个结构。

代码语言:javascript
复制
<articles>
    <article>
    <title></title>
    <text></text>
    <notes>
          <note>
        <code></code>
        <text></text>
    </note>
    <note>
        <code></code>
        <text></text>
      </note>
    </notes>
  </article>

</articles>

我必须执行以下查询( SELECT : ):选择note.code=XXX和note.text包含YYY的文章

我如何在php中做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-28 20:57:14

您可以使用Xpath作为xml的查询语言。W3School这里有一个很好的教程:http://www.w3schools.com/XPath/

使用SimpleXML很简单:P:

代码语言:javascript
复制
$xml = new SimpleXMLElement($xmlstring);
$result = $xml->xpath('/articles/article[code=XXX] and /articles/article[text contains(YYY)]');
foreach ($result as $node)
{
   //Do stuff
}
票数 0
EN

Stack Overflow用户

发布于 2014-05-28 20:56:03

如果使用SimpleXML,则必须对所有子节点进行迭代,然后对其子节点进行递归。看看DOMDocument和getElementsByTagName方法。

我想,这就是你要找的东西。

http://www.php.net/manual/en/class.domdocument.php

http://www.php.net/manual/en/domdocument.getelementsbytagname.php

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23921559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档