用于匹配捕获的 XPath 查询
有什么方法可以在 XML 文档中使用匹配大小写进行搜索吗?在这篇文章中,我看到使用完全匹配进行搜索: XPath 查询完全匹配
我想要什么实现的目标是根据我的标准获取所有匹配元素。
就像我有以下 XML:
<Videos>
<Misc URL="http://ccc/.webm1.webm" />
<Misc URL="http://bbb/OGG_2.ogv" />
<Misc URL="http://aaa/OGG_3.ogv" />
<Misc URL="http://ccc/.webm4.webm" />
<Misc URL="http://bbb/OGG_5.ogv" />
<Misc URL="http://aaa/OGG_6.ogv" />
</Videos>
我想获取包含或具有 .ogv
的所有节点,类似地,所有包含 .webm
扩展名的节点。
知道如何得到这个吗?
Is there any way to search in XML doc with match case? In this post I see searching with exact match: XPath query for exact match
What I want to achieve is to get all matching elements according to my criteria.
Like if I have the following XML:
<Videos>
<Misc URL="http://ccc/.webm1.webm" />
<Misc URL="http://bbb/OGG_2.ogv" />
<Misc URL="http://aaa/OGG_3.ogv" />
<Misc URL="http://ccc/.webm4.webm" />
<Misc URL="http://bbb/OGG_5.ogv" />
<Misc URL="http://aaa/OGG_6.ogv" />
</Videos>
I want to get all nodes that contain or having .ogv
, similarly all that contains .webm
extensions.
Any idea how to get this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
//Misc[substring(@URL, string-length(@URL)-3)='.ogv']
上面使用 XPath 1.0,简单地执行子字符串并返回最后 3 个字符来匹配针对
.ogv
。另外,为了简化上述内容,请使用 XPath 2.0
//Videos/Misc[ends-with(@URL, '.ogv')]
。//Misc[substring(@URL, string-length(@URL)-3)='.ogv']
The above uses XPath 1.0 and simply performs a substring and returns the last 3 characters to match against
.ogv
.Also, to simplify the above, using XPath 2.0
//Videos/Misc[ends-with(@URL, '.ogv')]
.尝试使用 Linq-XML。
Try using Linq-XML.