1

我有以下代码:

$xml = simplexml_load_file($url);

$query = '/root/parent[Model="Corolla"]';

//RUN QUERY ON XML
$xQuery = $xml->xpath($query);

这是 XML 文件:

<root>
   <parent>
     <Model>Corolla A/C</Model>
   </parent>
</root>

如果我正在搜索确切的字符串“Corolla”,则此代码效果很好。我遇到的问题是某些值类似于“卡罗拉 A/C 状况良好”

有没有一种方法可以查询包含单词 Corolla 而不是确切字符串 Corolla 的任何模型元素的 XML 文件?

编辑:我添加了我的 XML 帮助澄清的示例。

4

2 回答 2

3

在这种特殊情况下,我建议使用starts-with函数而不是contains(假设您的所有模型都以“卡罗拉”一词开头):

编辑

根据您的编辑,您必须将查询更改为:

/root/parent/Model[starts-with(., 'Corolla')]

您还可以查看Zvon XSLT 教程。这是一本非常好的读物。

于 2012-07-12T19:13:17.587 回答
1
/root/parent[contains(@Model, 'Corolla')]

请注意@Model... 上的...,这对于表明您正在使用parent标签的属性而不是某些 OTHER 标签是必要的,其名称恰好是Model.

于 2012-07-12T19:06:58.060 回答