私がたくさん持っているとしましょう
<item price='n' sold='m'>
...
</item>
各商品の価格※販売をしたいです。やっています
'//item/(@price * @sold)'
Pythonのlxml内からですが、「無効な式」というエラーが発生し続けます。xmllintコマンドでも同じことが起こります。ただし、同じクエリがOxygenxmlエディターで機能します。
これを機能させるにはどうすればよいですか?
使用しているXPath式にはXPath2.0が必要です。(これは、XPathバージョンを1.0に設定し、クエリを再試行することで、Oxygenで確認できます。)lxmlはXPath2.0をサポートしていないと思います。
XPath 2.0をサポートするライブラリを取得できない場合は、XPath内ですべてを実行しようとする代わりに、次のことを行う必要があります。
<item>
XPath式を使用するなど、XPathの要素を選択します//item
<item>
、XPath式を評価します@price * @sold
修正されたので、XPath2.0で計算を行うことができます。
価格が販売価格×2以下のすべてを選択したい場合は可能です。次を参照してください:http: //en.wikipedia.org/wiki/XPath#Number_functions