如何将 xml 标签及其值复制到同一根标签下的另一个 xml 文件中

如何将 xml 标签及其值复制到同一根标签下的另一个 xml 文件中

我需要将 xml 标签及其值复制到同一根标签下的另一个 xml 文件。如果根标签不存在,则创建它。

这是一个输入输出示例。

INPUT: string.xml
<resource>
    <string name="app_name">MyExampleApp</string>
    <string name="profile">My Profile</string>
    <string name="messages">My Messages</string>
</resource>

$ command "profile" string.xml string1.xml

OUTPUT: string1.xml
<resource>
    <string name="profile">My Profile</string>
</resource>

我一直在寻找“命令”和选项。不一定按照这个顺序。请帮我一下。任何 Linux/Unix/Mac 命令都可以

答案1

使用XML小星, 你可以删除string根节点下所有name属性不为的节点profile

$ xml ed -d '/resource/string[@name != "profile"]' string.xml
<?xml version="1.0"?>
<resource>
  <string name="profile">My Profile</string>
</resource>

如果您不需要 XML 声明行,请-O在后面添加。ed

相关内容