Мне нужно проиндексировать некоторые XML-документы с помощью Lucene, но перед этим мне нужно проанализировать эти XML и извлечь некоторую информацию из их тегов.
XML выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="es" xmlns="http://www.w3.org/2006/04/ttaf1" xmlns:tts="http://www.w3.org/2006/04/ttaf1#styling">
<head>
<styling>
<style id="bl" tts:fontWeight="bold" tts:color="#FFFFFF" tts:fontSize="15" tts:fontFamily="sansSerif"/>
</styling>
</head>
<body>
<div xml:lang="es">
<p begin="00:00.50" end="00:04.02" style="bl">Info</p>
<p begin="00:04.32" end="00:07.68" style="bl">Different words,<br />and phrases to index</p>
<p begin="00:11.76" end="00:16.04" style="bl">Text</p>
<p begin="00:18.52" end="00:22.88" style="bl">More and<br />more text</p>
</div>
</body>
</tt>
Мне нужно извлечь только метки времени внутри тегов begin и end, а затем проиндексировать текст внутри тегов p. Цель состоит в том, чтобы запросить проиндексированный текст и узнать, в каком промежутке временных меток находится каждое попадание.
Например, если я запрашиваю слово «Текст», вывод должен выглядеть примерно так: «2 совпадения, 00:11,76–00:16,04, 00:18,52–00:22,88».
Я начал индексировать весь XML с помощью Lucene. Теперь я хочу проанализировать файл, но я не уверен, что это лучшее приближение для решения этой проблемы.
Любая помощь или совет приветствуются :) Всем спасибо!