2

サンプル XML:

<test name="1" result="Passed" starttimestamp="2013-05-07 10:10:44.361 -0700" endtimestamp="2013-05-07 10:10:45.361 -0700" elapsed="1" />
<test name="2" result="Passed" starttimestamp="2013-05-07 10:10:45.362 -0700" endtimestamp="2013-05-07 10:10:46.362 -0700" elapsed="1" />
<test name="3" result="Passed" starttimestamp="2013-05-07 10:10:46.363 -0700" endtimestamp="2013-05-07 10:10:53.365 -0700" elapsed="7" />
<test name="4" result="Passed" starttimestamp="2013-05-07 10:10:53.365 -0700" endtimestamp="2013-05-07 10:11:39.374 -0700" elapsed="46" />

まずはやってみた

xpath somefile.xml test

そして、それは私に与えました:

<test name="1" result="Passed" starttimestamp="2013-05-07 10:10:44.361 -0700" endtimestamp="2013-05-07 10:10:45.361 -0700" elapsed="1" />-- NODE --
<test name="2" result="Passed" starttimestamp="2013-05-07 10:10:45.362 -0700" endtimestamp="2013-05-07 10:10:46.362 -0700" elapsed="1" />-- NODE --
<test name="3" result="Passed" starttimestamp="2013-05-07 10:10:46.363 -0700" endtimestamp="2013-05-07 10:10:53.365 -0700" elapsed="7" />-- NODE --
<test name="4" result="Passed" starttimestamp="2013-05-07 10:10:53.365 -0700" endtimestamp="2013-05-07 10:11:39.374 -0700" elapsed="46" />-- NODE --

次に、渡されたすべてのテスト、つまりパラメーターを持つすべてのノードをカウントしたいと思います"Passed"。そこで、次の xpath 式を使用しました。

xpath somefile.xml count(test[@result="Passed"])

しかし、それは私に与えます:

bash: 予期しないトークン `(' 付近の構文エラー

それから私は試しました

xpath somefile.xml test[@result="Passed"]

そしてそれは言った:

ノードが見つかりません

4

1 に答える 1

6

これは、コマンド ライン引数を予想とは異なる方法で処理したことが原因であると強く思われます。bashこれを試して:

xpath somefile.xml 'count(test[@result="Passed"])'

(そうすれば、2 番目のコマンドライン引数全体が、[などに特別な意味を持たずに通過するはずです。

于 2013-05-07T19:00:00.100 に答える