我将xmllint用作VIM编辑器中的外部命令。当我在包含格式正确的xml的缓冲区上运行以下命令时
%!xmllint --xpath '//a/@href' --encode UTF-8 -
它返回了我期望的匹配数目。但是由于只需要href's
的值,所以我运行了另一个使用string()
的命令:
%!xmllint --xpath 'string(//a/@href)' --encode UTF-8 -
但是我很惊讶仅看到第一个匹配的href
的值。我不了解XPath中的内容还是一个错误?
如果需要,我可以附加源XML(大约450行),但我认为从描述中应该清楚,罪魁祸首在其他地方。