我正在尝试使用XMLStarlet为了翻译目的,https://superuser.com/questions/598910/translate-text-nodes-of-graphml-xml-cas但是虽然我尝试读取的节点已返回,但返回了空格/换行符。 示例 XML 可在另一个问题中找到,程序调用如下:
xml sel --noblanks --text --template --nl --value-of "//y:NodeLabel" --value-of "//y:EdgeLabel" my.graphml
导致
...
The node's text
...
The edge's text
...
(...
代表空白行)
我希望有人能解释一下发生了什么,以及结果是否符合预期,或者是否是由 XMLStarlet 引起的。如果能提供固定的程序调用,那就太好了,当然,如果有必要,也可以使用替代程序或过滤空行(grep/sed/awk、CMD)。
答案1
xmlstarlet sel -T -t -v "//node/item" file.xml
并输出
<node><item>content</item></node>
为没有额外空格的文本。