Php 与XPath等价的类Mysql子句
我需要以下sql查询的等效项: 选择所有电影,片名以“V”开头,后跟3个字符,然后空格后跟字符串,例如Van HelsingPhp 与XPath等价的类Mysql子句,php,mysql,xml,xslt,xpath,Php,Mysql,Xml,Xslt,Xpath,我需要以下sql查询的等效项: 选择所有电影,片名以“V”开头,后跟3个字符,然后空格后跟字符串,例如Van Helsing SELECT * FROM films WHERE title LIKE ="V__ %"; 如何在films/film/title这样的树中使用xpath 1.0表达式,xpath 1.0,因为我将使用php和xslt 谢谢如果空格后的字符串不能显示,可以吗?然后您可以使用: //title[starts-with(text(), 'V') and string-le
SELECT * FROM films WHERE title LIKE ="V__ %";
如何在films/film/title这样的树中使用xpath 1.0表达式,xpath 1.0,因为我将使用php和xslt
谢谢如果空格后的字符串不能显示,可以吗?然后您可以使用:
//title[starts-with(text(), 'V') and string-length(substring-before(text(), ' '))=3]
//title[starts-with(text(), 'V') and string-length(substring-before(text(), ' '))=3 and string-length(substring-after(text(), ' '))>0]
如果空格后有字符串很重要,则可以使用:
//title[starts-with(text(), 'V') and string-length(substring-before(text(), ' '))=3]
//title[starts-with(text(), 'V') and string-length(substring-before(text(), ' '))=3 and string-length(substring-after(text(), ' '))>0]
请注意,当前接受的答案错误地选择了与选择标准不匹配的元素-请参阅此答案的结尾 这里有一个正确的解决方案 使用: 其中,$vAlpha是由所有字母组成的字符串 这将选择字符串值为: 以字符V开头 它的开头三个字符都是字母 它的第四个字符是空格 它的第五个字符不是空格 它的所有字符都是字母或空格 基于XSLT的验证: 将此转换应用于以下XML文档时: 对上述XPath表达式进行求值,并将选定元素(在本例中只有一个)复制到输出:
请注意,当前接受的答案错误地选择了以下两个不匹配的元素:
谢谢,第二个表达式正是我想要的。Zatla00:请注意,当前接受的答案错误地选择了与选择条件不匹配的元素-请参阅我的答案的结尾。一如既往,太好了!但请注意,电影中SELECT*的xpath表达式,其中title LIKE=V_u;;这正是我的第一句话:@AlehDouhi:是的,两个答案都是基于对实际需要的具体解释。两者都可能更接近或不太接近OP的未表达要求。我希望这个答案提供了一些有用技术的示例,即使我对OP意图的猜测与他未表达的情况不完全相同。谢谢@DimitreNovatchev的回答,它给了我同样的结果,因为条目都写得很好,我是说电影名字。
<films>
<film>
<title>Van Helsing</title>
</film>
<film>
<title>Van Helsing</title>
</film>
<film>
<title>Ban Helsing</title>
</film>
<film>
<title>van Helsing</title>
</film>
<film>
<title>Vann Helsing</title>
</film>
<film>
<title>Van Helsing2</title>
</film>
</films>
<title>Van Helsing</title>
<title>Van Helsing</title>
<title>Van Helsing2</title>