问题描述
大家好,
我是XPath的新手。我对它有疑问。
我的xml是这样的:
< UserInfo>
< ;联系人>
<名称> Chris Bob< /名称>
< / Contacts>
<联系人>
<名称> Mike Chris< /名称>
< / Contacts>
<联系人>
<名称> ; Chris< / Name>
< / Contacts>
< Contacts>
< Name> Chrisine< / Name>
< / Contacts>
< Contacts>
< Name> Kiran Kumar< / Name>
< ; / Contacts>
< Contacts>
< Name> Kumar< / Name>
< / Contacts>
< / UserInfo>
所以,我想搜索输入html文本中值为的所有名称
box。
如果我进入Kumar,那么最后两个节点应该是因为它有kumar在
它。同样,如果我进入Chris,那么前三个节点应该显示,
但是第四个节点不应该来。
这是可能的。请帮我说明怎么做。
--Phani
Hi all,
I am new to XPath. I have a doubt in it.
My xml is like this:
<UserInfo>
<Contacts>
<Name>Chris Bob</Name>
</Contacts>
<Contacts>
<Name>Mike Chris</Name>
</Contacts>
<Contacts>
<Name>Chris</Name>
</Contacts>
<Contacts>
<Name>Chrisine</Name>
</Contacts>
<Contacts>
<Name>Kiran Kumar</Name>
</Contacts>
<Contacts>
<Name>Kumar</Name>
</Contacts>
</UserInfo>
So, i want to search for all names with the value in enter in html text
box.
If i enter Kumar then the last two nodes should come as it has kumar in
it. Similarly if i enter Chris then first three nodes should display,
but the fourth one should not come.
Is this possible. Please help me on how to do it.
--Phani
推荐答案
如果你使用XPath
/ UserInfo / Contacts / Name [contains(。,''Kumar'')]
then all< Name>找到包含字符串''Kumar''的元素。
-
Martin Honnen
这是一个正则表达式问题,在XSLT1.0中没有定义正则表达式,但是将在XSLT2.0中
同时你可以使用扩展,或解决它(以一种非常丑陋的方式):
< xsl: apply-templates select =" Contacts [contains(concat('''',Name,''''),concat('''',
Hi,
This is a regular expression problem, regexes are not defined in XSLT1.0, but will be in XSLT2.0
Meanwhile you can use extension, or work around it (in a quite ugly way):
<xsl:apply-templates select="Contacts[contains(concat('' '',Name,'' ''),concat('' '',
这篇关于XPath的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!