gpt4 book ai didi

java - 通过 XML 记录进行复杂的搜索查询

转载 作者:行者123 更新时间:2023-12-02 07:24:32 25 4
gpt4 key购买 nike

我有一个对象列表,其中包含一个 XML 字符串字段。我必须对该字段执行类似 SQL 的查询,并获取满足这些值的子列表。我正在尝试使用 XPath。

首先,我无法找出实现此目的的 XPath 字符串。其次,可能有更好的方法来做到这一点。我尝试搜索,但答案并没有真正解决这个问题

详细信息

我有一个书籍 list :

List <Books> allBooks;

Book 类可以有一个 id 和详细信息字段。详细信息是 XML。

class Book
{
String id;
String details; //XML
}

以下是详细信息 xml 字符串的示例:

<book>
<name>Harry Potter and the sorcerer's stone</name>
<author>J K Rowling</author>
<genre>fantasy</genre>
<keyword>wizard</keyword>
<keyword>british</keyword>
<keyword>hogwarts</keyword>
<price>25</price>
</book>

所以,到目前为止,一切都是板上钉钉的事情。它是现有代码的一部分,我无法更改该设计。

我的工作是获取列表 allBooks 并通过它运行查询,其逻辑是:

   WHERE author = "J K Rowling" AND
genre = "fantasy" AND
(keyword = "wizard" OR keyword="hogwarts")

我考虑将此数据放入数据库中以运行实际查询,但由于该列表仅包含几百条记录,因此连接、加载数据等的开销是不值得的。

有人知道如何通过 XPath 做到这一点吗?有更好的方法吗?

最佳答案

我们需要图书记录

//book

与作者“J K Rowling”

//book[author = "J K Rowling"]

类型为“奇幻”

//book[author = "J K Rowling" and genre = "fantasy"]

关键字是“巫师”或“霍格沃茨”

//book[author = "J K Rowling" and genre = "fantasy" and (keyword = "wizard" or keyword = "hogwarts")]

关于java - 通过 XML 记录进行复杂的搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13727179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com