У меня есть XML, как показано ниже, и я пытаюсь извлечь узлы на основе ключевого слова. Пробовал использовать XPath и XMLLint. Но, очевидно, я ничего не делаю. Итак, надеясь на некоторую помощь в этом отношении.Извлечь узлы из xml на основе ключевых слов
XML File
<section>
<h>2 Introduction</h1>
<region>Intro 1</region>
<region>Background</region>
</section>
<article>
<body>
<section>
<h1>2 Task objectives</h1>
<region>2.1 Primary objectives </region>
<region>2.</region>
</section>
<section>
<h2>Requirements</h1>
<region>System Requirements </region>
<region>Technical Requirements</region>
</section>
<section>
<h3>Design</h1>
<region>Design methodology </region>
<region>Design patterns</region>
</section>
</body>
</article>
Учитывая этот XML и ключевое слово Task objectives
или objectives
(Case нечувствительны), мне нужно, чтобы извлечь весь узел и записать в другой XML-файл
<section>
<h1>2 Task objectives</h1>
<region>2.1 Primary objectives </region>
<region>2.</region>
</section>
экстракционного Я попробовал использовать Xpath и XMllint.
$ xmllint --xpath //body//section//h1[.="Task objectives"] Prior.mod.xml
XPath error : Invalid predicate
//body//section//h1[.=Task objectives]
^
xmlXPathEval: evaluation failed
XPath evaluation failure
Может кто-нибудь пожалуйста, дайте мне знать, что случилось с выше, и как я могу исправить это? Кроме того, я хотел бы сделать это в оболочке в каталоге файлов. Является ли XMLlint опцией ?
Благодаря этим работал. – BRZ