我有一个如下所示的 XML,并试图根据关键字提取节点。尝试使用 XPath 和 XMLLint。但很明显,我做的不对。所以希望在这方面有所帮助。
XML 文件
<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
or objectives
(不区分大小写),我需要提取整个节点并写入另一个 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 是最佳选择吗?