asp.net - 使用通配符匹配 xpath 中的属性

标签 asp.net xpath

我正在开发基于 .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'"]"

如何进行模糊搜索?

顺便说一句,任何想法通过指定的属性(如“姓名”)对匹配的人进行排序?

最佳答案

就像@Utkanos 建议的那样//person[contains(@name, 'yx')]应该匹配你想要的节点。

至少据我所知,XPath 本身没有能力,也不打算在节点上提供顺序,而是返回节点集,这些节点集是“无重复节点的无序集合”(参见 1 和评论)。但是,在 2.0 版中,此 2 可能会有所更改我不熟悉。

假设排序应该在 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

关于asp.net - 使用通配符匹配 xpath 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11393111/

相关文章:

asp.net - 在 Razor 难度中分配值(value)

c# - ASP.NET 错误显示我的本地开发文件夹?

javascript - 控制 ScriptManager 创建的 &lt;script&gt; 标签的顺序

xml - 错误!关于我使用的所选 XPath 有什么建议吗?

c# - 扩展方法必须在非通用静态类中定义

java - 解析 BPEL 文件以提取 Activity + XPath

python - 使用Scrapy爬取隐藏数据

java - Xquery 正在返回一组元素的结果而不是其他元素?

xml - 确定 XPath 以检索 XML 中的值