Iterate through XML with xmlstarlet

Posted by hendry on Stack Overflow See other posts from Stack Overflow or by hendry
Published on 2010-06-18T10:58:55Z Indexed on 2010/06/18 12:53 UTC
Read the original article Hit count: 310

Filed under:
|

I have the following XML:

<?xml version="1.0" encoding="UTF-8"?>
<test-report>
<testsuite>
<test name="RegisterConnection1Tests">
<testcase name="testRregisterConnection001"></testcase>
<testcase name="testRegisterConnection002"></testcase>
</test>
<test name="RegisterConnection2Tests">
<testcase name="testRregisterConnection001"></testcase>
<testcase name="testRegisterConnection002"></testcase>
</test>
</testsuite>
</test-report>

And I want the output:

RegisterConnection1Tests,testRregisterConnection001
RegisterConnection1Tests,testRregisterConnection002
RegisterConnection2Tests,testRregisterConnection001
RegisterConnection2Tests,testRregisterConnection002

I'm confused as to how to show the children as I expected

xmlstarlet sel -t -m 'test-report/testsuite/test' -v '@name' -v '//testcase/@name' -n $1 to work, though it only inputs:

RegisterConnection1TeststestRregisterConnection001
RegisterConnection2TeststestRregisterConnection001

© Stack Overflow or respective owner

Related posts about shell

Related posts about xmlstarlet