繁体   English   中英

如何在Java中同时查询两个XML文件?

[英]How to Query two XML files simultaneously in Java?

在我的场景中,我有两个XML文件,我想同时查询这些文件。

文件1,publishers.xml

<publishers>
    <publisher pubid="1" name="ABC" />
    <publisher pubid="2" name="RST" />
    <publisher pubid="3" name="XYZ" />
</publishers>

文件2,books.xml

<books>
    <book bkid="1" pubid="1" name="introduction to A" />
    <book bkid="2" pubid="3" name="introduction to B" />
    <book bkid="3" pubid="3" name="introduction to C" />
    <book bkid="4" pubid="2" name="introduction to D" />
</books>

题:

  • Java / Android中是否有可用的XML查询(类似于LINQ)?
  • 在JAVA中 ,我该怎么做? (我想同时从两个XML文件中查询)

    SELECT book FROM books.xml JOIN publishers.xml ON publishers.pubid = books.pubid AND bkid = "2"

让我用“普通”英语进行解释:),节点<book>是从books.xml中选择的,其中bkid=2属性,同时是<publisher>从Publishers.xml文件中选择的,其中publishers.pubid=books.pubid

期望的输出(已处理):

Book ID: 2
Book Name: introduction to B
Publisher: XYZ

谢谢!

这很常见吗? 不,不是,但有时是必需的。 我将按此StackOverflow答案中所述使用Xquery。 当然,如果您可以合并文件,则可以简化问题。

-编辑-

由于Xquery在Android上似乎没有非常扎实的支持,因此我会考虑另一个选择:

  1. 合并文件:您可以将两个流下拉,将它们合并到新的父节点<root> xml files concat here </root>然后将此字符串转换为dom文档并使用xpath对其进行解析。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM