使用BaseX读取多个XML文件

使用BaseX读取多个XML文件,xml,basex,Xml,Basex,嗨,我是BaseX的新手,我正在尝试从文件夹中读取一堆XML文件。读取这些文件后,我会将数据输出到数据库表(一些RDBMS)。但是我不知道从哪里开始,因为我找不到太多关于使用BaseX的教程。我在网上搜索过,但仍然没有多少帮助。谁能帮我一下吗 提前感谢。使用创建DB yourdbname/path/to/folder来包含此文件夹中的所有文档。要执行此操作,请使用集合(“yourdbname”)。如果需要访问特定文件,请使用集合(“yourdbname/document.xml”) 要查询所有这

嗨,我是BaseX的新手,我正在尝试从文件夹中读取一堆XML文件。读取这些文件后,我会将数据输出到数据库表(一些RDBMS)。但是我不知道从哪里开始,因为我找不到太多关于使用BaseX的教程。我在网上搜索过,但仍然没有多少帮助。谁能帮我一下吗


提前感谢。

使用
创建DB yourdbname/path/to/folder
来包含此文件夹中的所有文档。要执行此操作,请使用
集合(“yourdbname”)
。如果需要访问特定文件,请使用
集合(“yourdbname/document.xml”)

要查询所有这些文件,可以执行以下操作

for $document in collection("yourdbname")
return string-join((
    document-uri($document),
    ": ",
    xs:string(count($document//*))
  ))
它将返回所有文档路径及其相应的节点计数


为了进一步阅读,请查看中的,您应该能够在中找到所有需要的信息。要使用SQL在RDBMS中存储数据,请查看,其中还包括一些示例。

分别添加几个文件:

nicholas@mordor:~/flwor/bookstore$ 
nicholas@mordor:~/flwor/bookstore$ cat book1.xml 
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>


nicholas@mordor:~/flwor/bookstore$ 
nicholas@mordor:~/flwor/bookstore$ cat book2.xml 
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>


nicholas@mordor:~/flwor/bookstore$ 
nicholas@mordor:~/flwor/bookstore$ basex
BaseX 9.0.1 [Standalone]
Try 'help' to get more information.
> 
> create database books
Database 'books' created in 225.89 ms.
> 
> open books
Database 'books' was opened in 0.04 ms.
> 
> set parser xml
PARSER: xml
> 
> add book1.xml
Resource(s) added in 160.76 ms.
> 
> add book2.xml
Resource(s) added in 4.86 ms.
> 
> xquery /book/title
<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
Query executed in 188.71 ms.
> 
> exit
Have a nice day.
nicholas@mordor:~/flwor/bookstore$ 
nicholas@mordor:~/flwor/书店$
nicholas@mordor:~/flwor/bookstore$cat book1.xml
日常意大利语

其中介绍了Xquery和FLWOR


与控制台(文本)界面相比,您可能更喜欢图形化前端。

谢谢您提供的信息,非常感谢。我查阅了那些文件,但没有多大帮助。我将再次尝试深入研究它们。还有一个问题,您能否告诉我如何使用Xquery/Xpath查询多个XML文件并将返回的结果存储在任何RDBMS中。提前谢谢你的问题中没有包括这一点,所以我没有补充任何内容。我编辑了我的答案。谢谢你,真的很感激。