0

<Style>color を含む KML からすべてのブロックを選択する必要がありますccff00ff。何かのようなもの:

<Style id="inline">
    <LineStyle>
        <color>ccff00ff</color>
        <width>5</width>
    </LineStyle>
</Style>

私は何時間も壁に頭をぶつけてきましたが、これはこの議論に基づいて得ることができる最も近いものです:

xmlstarlet sel -N 'ns=http://www.opengis.net/kml/2.2' -t -c '//ns:Style[.//ns:color[contains(text(), 'ccff00ff')]]' myplaces.kml

残念ながら、ccff00ff私が望むものに変更しても、それはまだ一致するので、まったく機能しないと推測できます!

4

1 に答える 1

1
'//ns:Style[.//ns:color[contains(text(), 'ccff00ff')]]'

引用符はネストしません。一重引用符の中で二重引用符を使用します。

'//ns:Style[.//ns:color[contains(text(), "ccff00ff")]]'

リンクした例では、cmd.exe一重引用符を引用文字として認識しないため、引用符が逆になっています。bash は二重引用符を引用文字として認識するため、そのようにすることもできますが、それらは「ソフト クォート」であるため、問題が発生する可能性があります。XPath に関する限り、両方の引用タイプは完全に同一です。

于 2013-06-23T01:54:45.857 に答える