2010-06-18 2 views
1

나는 다음과 같은 XML이 :으로 반복은

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

내가

을 예상대로 내가 아이들을 표시하는 방법에 대한 혼란 스러워요 :

<?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> 

을 그리고 출력을 원하는

RegisterConnection1TeststestRregisterConnection001 
RegisterConnection2TeststestRregisterConnection001 

답변

2

누락 된 쉼표를 추가하려면 다른 문자를 추가 할 수 있습니다. -v "','" 두 번째 열에서 루트 요소의 절대 xpath 표현식을 선택하고 템플릿과 일치하는 요소가 아닌 이중 슬래시를 잘못 선택합니다. 내가 테스트 케이스의 요소를 반복하고이 같은 부모 요소의 이름 속성을 추가 테스트 케이스마다 한 줄을 원하기 때문에 : 여전히 잘못된

xmlstarlet sel -t -m 'test-report/testsuite/test/testcase' -v '../@name' -v "','" -v '@name' -n $1 
+0

없음. $ xmlstarlet sel -t -m '테스트 보고서/testsuite/test'-v '@name'-v " ',"-v'testcase/@ name '-n test.xml RegisterConnection1Tests, testRregisterConnection001 RegisterConnection2Tests , testRregisterConnection001 – hendry

+0

아, 그걸 할 수 있다는 걸 몰랐는데. 영리한! – hendry

+1

'-o,'는'-v "와 동등하며," " – npostavs