1

我有以下格式的 xml 文件。

<pages>
  <contents>
    <menu><![CDATA[menu1]]></menu>
    <texts><![CDATA[content1]]></texts>
  </contents>

  <contents>
    <menu><![CDATA[menu2]]></menu>
    <texts><![CDATA[content2]]></texts>
  </contents>

  <contents>
    <menu><![CDATA[menu3]]></menu>
    <texts><![CDATA[content3]]></texts>
  </contents>
</pages>

在这里,我想传递一个带有菜单节点值的参数,例如传递了 menu1,我想获取文本节点,即 content1 左右。

我怎么能用 php/xquery 做到这一点?

谢谢

4

2 回答 2

0

使用这样的东西(我不知道 PHP):

/pages/content[menu = $foo]/texts/text()

或者

string(/pages/content[menu = $foo]/texts)

其中变量是需要其“文本”$foo的元素的字符串值。menu

于 2012-06-09T14:30:45.347 回答
0

查看http://php.net/manual/en/simplexmlelement.xpath.php

/pages/contents/menu[text()='<![CDATA[$foo]]>']
于 2012-06-09T03:09:43.167 回答