我想從這個XML例子我應該用BASH解析這個XML嗎?
<String Name="descResist">
<Description><![CDATA["resist_type_chimney"]]></Description>
<Flags>
<ParFlg_Child/>
</Flags>
<Value><![CDATA["90_min."]]></Value>
</String>
這
descResist;resist_type_chimney
descResist;90_min.
所以,基本上我需要提取CDATA內容與名稱的值Concat的它得到。
其中一個問題是,它並不總是在標籤String
...可能是也Integer
,Title
,Boolean
,等...
我想這
$ grep -o "Name=\".*\"\|<\!\[CDATA\[.*\]\]>" file.xml | sed 's/<\!\[CDATA\[\"\(.* \)\"\]\]>/\1/'
這給我
Name="descResist"
resist_type_chimney
90_min.
我怎樣才能將下一行的值前綴名稱爲stri NG?
像
Name="descResist"
resist_type_chimney
90_min.
Name="anotherName"
foo_bar
Name="anoooother"
Name="notempty"
bar_foo
它變得有點複雜。
這也是很好的與XML這樣的工作嗎?也應該有任何嵌套<tagType Name=...
所以我想這應該不成問題。
編輯:我的工作在Cygwin是正在尋找慶典/ SED/awk的簡單解決方案。
檢查http://stackoverflow.com/questions/4680143/how-to-parse-xml-using-shellscript – anishsane