Я использую следующую структуру XML-документа:
<feed>
<entry>
<title>Title 1</title>
</entry>
<entry>
<title>Entry by Sony</title>
</entry>
</feed>
Я перебираю все документы в базе данных, чье имя документа начинается с «feed», например: feed_doc1, feed_doc2 и т. Д. Я ищу документыкоторые содержат заданное ключевое слово и пытаются вернуть название документа.Я использую BaseX XML Database и использую следующий xquery:
for $doc_name in db:list()
where fn:starts-with($doc_name, 'feed')
return
for $node in doc($doc_name)/feed/entry[.//text() contains text 'Sony']]
return $doc_name
Короче говоря, мой запрос должен возвращать имена документов всех тех документов, которые содержат ключевое слово «Sony».
Я вижу следующую ошибку:
java.io.IOException: org.basex.query.item.FTxt не может быть приведен к org.basex.query.item.QNm
Я пытался гуглить об этой ошибке, но не смог найти достаточно справочной информации.Может кто-нибудь помочь?
Спасибо, Sony