2016-03-22 21 views
0

Aşağıdaki config.xml dosyası var (dosya bir kaynak deposundan otomatik bir işlemde değiştiremediğim bir şeydir; , androidversionCode ve iosCFBundleVersion mutluluk duyacağızxmnsint özelliğine sahip xmnsint özelliğini bash içinde alın

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

Ben denemek ne:. çalışır

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

xmlns = "http://www.w3.org/ns/widgets" olduğunda dosyadan kaldırılır. xmlns = "" öğesini ayarlarsam, o da çalışır, ancak başka bir durum bulamadım. t id veya herhangi bir sürüm kodu dönecektir. Yani, xmlns = "bir şey" xpath başarısız, değil mi?

Bu işi nasıl yapabilirim ve bu sürüm numaralarını nasıl alabilirim?

+1

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

cevap

0

Ve çözünürlüğü:

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