我已经设法搜索XML文件中的产品。
问题是,我的XML内容包含撇号'。 当我使用关键字accu's搜索时,由于撇号,我得不到任何结果。
这是我用来收集结果的xpath:
$ products = $ xml-> xpath(“// products [contains(。,\”$ keyword \“)]”);
每次$ keyword都取决于您搜索的位置。
我的xml看起来像这样:
<products>
<hoofdgroep>Gereedschappen</hoofdgroep>
<subgroep>Accugereedschap</subgroep>
<artikelgroep>Accu's voor accugereedschap</artikelgroep>
<artikelnummer>224975</artikelnummer>
<artikelnaam>accu bosch 9.6V 2.0ah</artikelnaam>
<merk>Bosch</merk>
<eenheid>st</eenheid>
</products>
请帮忙!
答案 0 :(得分:0)
表达完全没问题。您必须在发送查询之前添加一些转义或其他内容,例如添加到accu\'s
,或者不在搜索关键字或文档中使用其他字符。行情,口音和撇号经常混在一起。
不要忘记引用双反斜杠来防止注入攻击!顺便说一句,XPath允许字符串的单引号和双引号,所以你也可以使用单引号而不是转义双引号。