我发现有几个问题和我的有些相似,但我没能调整他们的解决方案。你知道吗
我有一个XML文档,其中有多个具有相同名称的元素。我无法提供确切的文档内容,但this question有一个等价的文档内容:
<table name="XFile">
<row sourceLineNumber="D:\bla\bla\">
<field>Borderish.fo</field>
<field>Documents</field>
<field>1</field>
<field>This line here 1</field>
</row>
<row sourceLineNumber="D:\blah\blah\">
<field>Charterish</field>
<field>Documents</field>
<field>1</field>
<field>This line here 2</field>
</row>
</table>
我需要能够做一些与SQL语句SELECT field[3] WHERE field[0] = "Charterish"
等价的事情。你知道吗
如果有帮助的话,我的文档似乎有一个更进一步定义的模式,它将每个<field>
值映射到一个名称,比如“IP address”;我还没有找到任何关于如何使用这个映射的信息,但我确信有办法。你知道吗
到目前为止,我一直在尝试使用xmlstarlet解决这个问题;但是,如果这更容易的话,我也可以选择使用python。请认为我在bash/python中的级别是基本的,在XML中的级别是非常基本的。你知道吗
假设您有一个包含此部分的XML文档(您应该是提供简化但仍然相关的XML的人):
假设您的XML没有默认名称空间,那么您可以调整您链接的问题中提供的解决方案,以使用以下XPath:
上面的XPath是伪SQL查询的翻译:
注意,XPath位置索引从
1
开始,而不是从0
开始。你知道吗相关问题 更多 >
编程相关推荐