2016-03-22 7 views
0

次のconfig.xmlファイルがあります(このファイルはソースリポジトリから自動化されたプロセスで変更できないものですが、ビルドプロセスを変更することはできますが、 、androidversionCodeとiosCFBundleVersionいただければ幸いですxmlnsのbashでxmlnsを取得する

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.company.project" version="1.2.8" androidversionCode="209" iosCFBundleVersion="209" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>Project name</name> 
    <description>Project description</description> 
</widget> 

私が試してみてください。のxmlns = "http://www.w3.org/ns/widgets" があるとき

$ xmllint --xpath "string(//widget/@id)" config.xml 

のみ動作することxmlns = ""と設定した場合でも動作しますが、他のケースは見つかりませんでした。 idや任意のバージョンコードを返すでしょう。だから、xmlns = "何か"はxpathを失敗させます、そうですか?

どうすればこのバージョン番号を取得できますか?

+1

関連:http://stackoverflow.com/questions/8264134/xmllint-failing-to-properly-query-with-xpath – har07

答えて

0

と解像度は次のとおりです。

xmllint --xpath 'string(//*[local-name()="widget"]/@id)' config.xml