我正在开发基于.net 2.0的asp.net应用程序。
我在处理XML时遇到了一些问题。
假设我有这样的XML:
<person name="xxxyx" age="32" />
<person name="zzz" age="32" />
<person name="yyyxx" age="32" />
现在我要选择名称中包含yx
如何使用xpath实现它?
我只知道这个表达式会匹配名字正好是“yx”的人:
"//person[name='yx'"]"
如何进行模糊搜索?
顺便说一下,有没有想过按照“名字”这样的指定属性对匹配的人进行排序?
答案 0 :(得分:9)
与@Utkanos一样,建议//person[contains(@name, 'yx')]
应与您想要的节点匹配。
假设排序应该在XSL转换中完成,你可以使用<xsl:sort />
这样:
<xsl:apply-templates select="//person[contains(@name, 'yx')]">
<xsl:sort select="@name" />
</xsl:apply-templates>
此处记录的<xsl:sort />
还有一些属性:http://www.w3.org/TR/xslt#sorting
答案 1 :(得分:8)