У меня есть неструктурированный XML, который нужно преобразовать в структурированный. Я получаю это от научных pdf-файлов, обрабатываемых apache tika и преобразованных в xml Parscit. XML выглядит следующим образом:Преобразование неструктурированного xml в структурированный
ВХОД:
<algorithm>
<sectionHeader> Section1 </sectionHeader>
<BodyText>Text goes here</BodyText>
<sectionHeader> Section2 </sectionHeader>
<BodyText>Text goes here</BodyText>
<subsectionHeader>Subsection</subsectionHeader>
<BodyText>Text goes here</BodyText>
<sectionHeader> Section1 </sectionHeader>
<BodyText>Text goes here</BodyText>
</algorithm>
ВЫВОД:
<algorithm>
<sectionHeader>
<Text> Section1 </Text>
<BodyText>Text goes here</BodyText>
</sectionHeader>
<sectionHeader>
<Text> Section2 </Text>
<BodyText>Text goes here</BodyText>
<subsectionHeader>
<Text>Subsection</Text>
<BodyText>Text goes here</BodyText>
</subsectionHeader>
</sectionHeader>
<sectionHeader>
<text>Section3 </Text>
<BodyText>Text goes here</BodyText>
</sectionHeader>
</algorithm>
Я могу сделать это с помощью строки построитель и XPath в Java. Но это влияет на производительность, поскольку мне, возможно, придется обрабатывать миллионы документов. То есть xslt лучший подход?
Что такое ваше определение "лучше"? Можете ли вы сделать то же самое с помощью xslt? Это более или менее читаемо? Это быстрее или нет на вашем входе? Только вы можете попробовать найти ответы на эти вопросы. – Fildor
Почему ' Раздел 2 sectionHeader> Текст идет здесь ' в результате не будет помечено как ' Раздел 2 Текст идет здесь sectionHeader>'? Должен ли он даже обернуть следующее подразделение Header? –
Упс! Виноват. Изменили его. – Yauza