我必须遵循xml结构:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DOC SYSTEM "ts.dtd">
<?xml-stylesheet type="text/css" href="ts.css"?>
<DOC LOCALE="en-US">
<PTXT ID="some.first.id" CONTEXT="">Some text 1</PTXT>
<PTXT ID="some.second.id" CONTEXT="">Some text 2</PTXT>
</DOC>
现在我的挑战是循环每个PTXT标签并使用ID和内部文本执行某些操作。例如,让我们说我需要回应像
这样的东西some.first.id Some text 1
some.second.id Some text 2
我如何在shell脚本中拥有它?
答案 0 :(得分:1)
使用xmlstarlet工具完成解决方案:
xmlstarlet sel -t -m "//PTXT" -v "concat(./@ID,' ',text())" -n input.xml 2>/dev/null
输出:
some.first.id Some text 1
some.second.id Some text 2