xml – 复杂的xPath查询
发布时间:2020-12-16 22:39:05 所属栏目:百科 来源:网络整理
导读:我需要编写一个非常复杂的XSLT 1.0查询. 鉴于以下XML文件,我需要一个查询来获取多个报告中的作者集. (例如Antonio Rossi,因为他在报告1和2中都是如此). reports report id="01" titolo I venti del Nord /titolo autori autore Antonio Rossi /autore autore
我需要编写一个非常复杂的XSLT 1.0查询.
鉴于以下XML文件,我需要一个查询来获取多个报告中的作者集. (例如Antonio Rossi,因为他在报告1和2中都是如此). <reports> <report id="01"> <titolo> I venti del Nord </titolo> <autori> <autore> Antonio Rossi </autore> <autore> Mario Verdi </autore> </autori> <versioni> <versione numero="1.0"> <data> 13-08-1980 </data> <autore> Mario Verdi </autore> <commento> versione iniziale </commento> </versione> <versione numero="2.0"> <data> 14-08-1981 </data> <autore> Antonio Rossi </autore> <commento> poche modifiche </commento> </versione> </versioni> </report> <report id="02"> <titolo> Le pioggie del Nord </titolo> <autori> <autore> Antonio Rossi </autore> <autore> Luca Bianchi </autore> </autori> <versioni> <versione numero="1.0"> <data> 13-12-1991 </data> <autore> Antonio Rossi </autore> <commento> versione iniziale </commento> </versione> <versione numero="2.0"> <data> 14-08-1992 </data> <autore> Antonio Rossi </autore> <commento> modifiche al cap. 1 </commento> </versione> <versione numero="3.0"> <data> 18-08-1992 </data> <autore> Antonio Rossi </autore> <commento> Aggiunta intro. </commento> </versione> <versione numero="4.0"> <data> 13-01-1992 </data> <autore> Luca Bianchi </autore> <commento> Modifiche sostanziali. </commento> </versione> </versioni> </report> <report id="03"> <titolo> Precipitazioni nevose </titolo> <autori> <autore> Fabio Verdi </autore> <autore> Luca Bianchi </autore> </autori> <versioni> <versione numero="1.0"> <data> 11-01-1992 </data> <autore> Fabio Verdi </autore> <commento> versione iniziale </commento> </versione> <versione numero="2.0"> <data> 13-01-1992 </data> <autore> Luca Bianchi </autore> <commento> Aggiornato indice </commento> </versione> </versioni> </report> </reports> 解决方法
即使在XPath 1.0中也是如此:
//report//autore[text()=../../following-sibling::report//autore/text()] 它还选择具有与以下任何报告节点中的任何自动存储节点相同的文本内容的所有自动节点. 或者,为了保持简短,即使这在你真正的xml文件中没有任何麻烦也应该有用: //autore[text()=../../following-sibling::*//autore/text()] 编辑:意外工作.请参阅下面的评论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – ruby?? on rails,创建新对象,使用create或
- cocos2dx 3d开源项目 fantasyWarrior3D 从零走起 3 [Battle
- FlexPaper实现文档在线浏览(附源码)
- Oracle VARCHAR列上的数字比较如何工作?
- Pytest学习(八) - 自定义标记mark的使用
- objective-c – 从我的应用程序启动应用程序的特殊API
- c – 使用Gtk的OpenGL,尽管背景被清除,但仍未绘制形状
- xml – 如何设置属性以及如何在nant中获取它
- iphone – 获取属性的谓词生成器?
- Ajax客户端框架无法加载Asp.Net 4.0