复制一个字段内的数据 XML [英] Copy data inside one field XML
本文介绍了复制一个字段内的数据 XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一些像:
<channel update="i" site="merge-xmltv" site_id="" xmltv_id="Rai 1">Rai 1</channel>
<channel update="i" site="merge-xmltv" site_id="" xmltv_id="Rai 1 +2HD">Rai 1 +2HD</channel>
<channel update="i" site="merge-xmltv" site_id="" xmltv_id="Rai 1 +1HD">Rai 1 +1HD</channel>
我需要像这样将 xmltv_id
的值复制到 site_id
中:
I need copy the value of xmltv_id
into site_id
like this:
<channel update="i" site="merge-xmltv" site_id="Rai 1" xmltv_id="Rai 1">Rai 1</channel>
<channel update="i" site="merge-xmltv" site_id="Rai 1 +2HD" xmltv_id="Rai 1 +2HD">Rai 1 +2HD</channel>
<channel update="i" site="merge-xmltv" site_id="Rai 1 +1HD" xmltv_id="Rai 1 +1HD">Rai 1 +1HD</channel>
我想使用 SED,但我遇到了麻烦.
I was thinking to use SED but I am in the trouble.
感谢有人想要帮助我!
推荐答案
正如 Ruslan Osmanov 所指出的,这种工作的工具是 xmlstarlet
.最明显的解决方案是:
As Ruslan Osmanov pointed out, the tool for this kind of job is xmlstarlet
. The most obvious solution would be:
xmlstarlet ed -u "//channel/@site_id" -x "../@xmltv_id" input
然而,这在我的 xmlstarlet
版本中似乎不起作用.不过,您可以解决该问题:
However, that does not seem to work in my version of xmlstarlet
. You can work around the problem, however:
xmlstarlet ed -u "//channel/@site_id" -x "string(../@xmltv_id)" input
这篇关于复制一个字段内的数据 XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文