Это мой XML, я работаю, используя xmllint
(парсинг xml в файле сценария bash), чтобы найти наличие элемента в xml.
<testsuite name="com.myapp.testcases.loginTest">
<testcase name="invalidIdTest" classname="com.myapp.testcases.loginTest" time="0.002">
<skipped/>
</testcase>
<testcase name="invalidTokenTest" classname="com.myapp.testcases.loginTest" time="4.164"/>
<testcase name="connectAndDisconnectTest" classname="com.myapp.testcases.loginTest" time="13.622">
</testcase>
<testcase name="invalidServerUrlTest" classname="com.myapp.testcases.loginTest" time="40.072"/>
</testsuite>
Я хочу выяснить testcase
элемент, имеет ли дочерний элемент skipped
или нет?
Если я попробовал следующую команду, но она выдает пустой вывод для всех 4 testcase
элементов.
val=$(xmllint --xpath 'string(testsuite/testcase/*[local-name()="skipped"])' skipped.xml)
echo $val
и опробовал это также
isSkipped=$(xmllint --xpath "string(/testsuite/testcase[$i][skipped])" skipped.xml)
Я хочу сделать вывод 1, если testcase
элемент имеет skipped
дочерний элемент, иначе 0.
пожалуйста, помогите мне в этом