6

MathML 式を Python の数式文字列に変換したいのですが、これにはMathDOM モジュールが適しているはずです。

例は次のとおりです。

<math xmlns="http://www.w3.org/1998/Math/MathML">
   <lambda>
     <bvar><ci>A</ci></bvar>
     <bvar><ci>B</ci></bvar>
     <apply>
         <plus/>
         <ci>A</ci>
         <ci>B</ci>
     </apply>
   </lambda>
</math>

「A + B」にマップする必要があります。これは明らかに、より複雑な式で機能するはずです。

ただし、これはかなり古く、新しいバージョンの xml モジュールでは正しく動作しません (間違ったモジュール構造をインクルードしようとするなど)。

誰かが有用な代替手段を知っていますか?

4

1 に答える 1

2

これまでの最善の解決策: libsbml

from libsbml import *
ast = readMathMLFromString(xmlString)
f = FunctionDefinition(2,4)
f.setMath(ast)
kl = KineticLaw(2,4)
kl.setMath(f.getBody())
kl.getFormula()

私はすでにそれを扱っていますが、一般的な解決策にはほど遠いので、私にとってはわかりました。

于 2011-05-31T20:08:15.833 に答える