我们需要在多个位置插入XML元素我必须再插入一个元素<wtc-import> <name>WTCImportedService-0-rap01</name> <resource-name>XXXX01F</resource-name> <local-access-point>lap01</local-access-point> <remote-access-point-list>rap01</remote-access-point-list> <remote-name>XXXX01F</remote-name> </wtc-import>在--- INSERT WTC IMPORT SERVICE ----下文件中提到的位置基本上在每个标记结束之前 <wtc-server> <name>WTC-server-117-02</name> <target>cwea_117_02</target> <wtc-local-tux-dom> <name>lap01</name> <access-point>lap01</access-point> <access-point-id>wl.prodcwe117.02</access-point-id> <block-time>600</block-time> <nw-addr>//localhost:7125</nw-addr> </wtc-local-tux-dom> <wtc-remote-tux-dom> <name>rap01</name> <access-point>rap01</access-point> <access-point-id>tx.hello101</access-point-id> <local-access-point>lap01</local-access-point> <nw-addr>//hostanme:71105</nw-addr> <federation-url></federation-url> <federation-name></federation-name> </wtc-remote-tux-dom> <wtc-import> <name>WTCImportedService-0-rap01</name> <resource-name>XXXX01F</resource-name> <local-access-point>lap01</local-access-point> <remote-access-point-list>rap01</remote-access-point-list> <remote-name>XXXX01F</remote-name> </wtc-import>-------在此处插入新的WTC导入--------- </wtc-server> <wtc-server> <name>WTC-server-117-03</name> <target>cwea_117_03</target> <wtc-local-tux-dom> <name>lap01</name> <access-point>lap01</access-point> <access-point-id>wl.prodcwe117.02</access-point-id> <block-time>600</block-time> <nw-addr>//localhost:7125</nw-addr> </wtc-local-tux-dom> <wtc-remote-tux-dom> <name>rap01</name> <access-point>rap01</access-point> <access-point-id>tx.hello101</access-point-id> <local-access-point>lap01</local-access-point> <nw-addr>//hostanme:71105</nw-addr> <federation-url></federation-url> <federation-name></federation-name> </wtc-remote-tux-dom> <wtc-import> <name>WTCImportedService-0-rap01</name> <resource-name>XXXX01F</resource-name> <local-access-point>lap01</local-access-point> <remote-access-point-list>rap01</remote-access-point-list> <remote-name>XXXX01F</remote-name> </wtc-import>-------在此处插入新的WTC导入--------- </wtc-server>请帮忙 最佳答案 使用XMLStarlet在Shell中执行此操作看起来像:xmlstarlet ed \ --subnode '//wtc-server' -t elem -n wtc-import \ --subnode '//wtc-server/wtc-import[last()]' -t elem -n name -v WTCImportedService-0-rap01 \ --subnode '//wtc-server/wtc-import[last()]' -t elem -n resource-name -v XXXX01F \ --subnode '//wtc-server/wtc-import[last()]' -t elem -n local-access-point -v lap01 \ --subnode '//wtc-server/wtc-import[last()]' -t elem -n remote-access-point-list -v rap01 \ --subnode '//wtc-server/wtc-import[last()]' -t elem -n remote-name -v XXXX01F \ <in.xml >out.xml(测试的代码没有任何xmlns定义,因为问题的原始版本不包含任何定义)。关于python - 使用Shell或Python添加XML元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54374560/
10-12 02:20