我有这个xml结构,我想将这个xml转换为另一个xml,但只有一些字段。我怎么能直接用xmllint或类似的工具呢?我知道我可以使用一些php库来解析xml,但是如果可能的话我想避免这种情况。
resources :relationships
为:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<Entities>
<Ent_ID>1</Ent_ID>
<Name>John</Name>
<Age>15</Age>
</Entities>
<Entities>
<Ent_ID>2</Ent_ID>
<Name>Pedro</Name>
<Age>20</Age>
</Entities>
</data>
答案 0 :(得分:5)
我会使用xmlstarlet
:
xmlstarlet ed -d '/data/Entities/*[not(self::Name)]' filename.xml
xmlstarlet ed -d xpath
删除符合XPath表达式的输入XML中的所有节点,在这种情况下,它描述了/data/Entities
节点不是Name
个节点的所有子节点。