【发布时间】:2023-04-08 17:16:01
【问题描述】:
我正在尝试从这个 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 内容并将其与 Name 的值连接起来。
其中一个问题是,它并不总是在标签String... 也可能是Integer、Title、Boolean 等...
我试过了
$ grep -o "Name=\".*\"\|<\!\[CDATA\[.*\]\]>" file.xml | sed 's/<\!\[CDATA\[\"\(.*
\)\"\]\]>/\1/'
这给了我
Name="descResist"
resist_type_chimney
90_min.
如何在下一行添加名称字符串的值?
点赞
Name="descResist"
resist_type_chimney
90_min.
Name="anotherName"
foo_bar
Name="anoooother"
Name="notempty"
bar_foo
这有点复杂。
像这样使用 XML 也很好?还应该有任何嵌套的<tagType Name=...,所以我想这应该不是问题。
编辑:我正在 cygwin 上寻找 bash/sed/awk 简单的解决方案。
【问题讨论】: