私のdbにインポートするスクリプトを実現するために、xmlファイルのノードの反復回数を数えたいと思います。 私はxmlstarletを使用しようとしたんだけど、彼は答えとして0を返すたびに...ここxmlstarletは常に0をカウントする
は私のXMLファイルのサンプルです:
:私はbashで<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<global xmlns="http://www.xxxxxxxxxxx">
<place geoAccuracy="0" geoStatus="0" geoLatDeg="0.0" geoLongDeg="0.0" id="123">
<name>XXXXXX</name>
<postalcode>12345</postalcode>
<city>city</city>
<country>country</country>
</place>
<place geoAccuracy="0" geoStatus="0" geoLatDeg="0.0" geoLongDeg="0.0" id="123">
<name>XXXXXX</name>
<postalcode>12345</postalcode>
<city>city</city>
<country>country</country>
</place>
、私はこれをしませんでした
#!/bin/bash
FILE="places.xml" RESULT=$(xmlstarlet sel -t -v "count(//place)" $FILE)
echo $RESULT
たびに、それが結果として0を返します...私は「//グローバル/場所」または「/場所」のような異なるXPathを試してみたが、結果は同じです...
誰にもそれを解決する方法? 私はUbuntuサーバー14.04LTSを使用しています。 O.R.Mapper @
私はあなたがそれを代わりに 'lieu'の' place'言うように、あなたのXPathを変換するために忘れてしまったと思います(?) –
にもかかわらず、多分あなたはxmlstarletのためにいくつかの名前空間のマッピングを指定する必要がありますか? –
あなたは正しいです...私はプレゼンテーションで翻訳しませんでした...私は修正を行いました。しかし、この間違いは私のコードではなかった – Yvo