如何使用xmlstarlet连接XML的两个元素

时间:2014-05-21 11:44:27

标签: xml xmlstarlet

<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Testcases>
    <Testcase_Name>t1</Testcase_Name>
    <Arguments>arg1</Arguments>
</Testcases>
<Testcases>
    <Testcase_Name>t2</Testcase_Name>
    <Arguments>arg2</Arguments>
</Testcases>

上面是我的代码,我想连接t1和arg1,t2和arg2。我怎么能用xmlstarlet做到这一点?

1 个答案:

答案 0 :(得分:0)

首先,您需要在上面的数据末尾添加</Root>。 即

<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Testcases>
    <Testcase_Name>t1</Testcase_Name>
    <Arguments>arg1</Arguments>
</Testcases>
<Testcases>
    <Testcase_Name>t2</Testcase_Name>
    <Arguments>arg2</Arguments>
</Testcases>
</Root>

然后如果将其保存为your.test.xml.file

xmlstarlet sel -T -B -t -m '//Testcases' -v './Testcase_Name' -o ' , ' -v './Arguments' -n your.test.xml.file

选择名为&#34; Testcases&#34;的节点。并循环遍历它们,打印名为Testcase_Names和Arguments的子节点的值,用-o参数分隔。


输出是;

t1 , arg1
t2 , arg2



Omit -o&#39; ,&#39;获得t1arg1和t2arg2