我想将MathML表达式转换为python中的方程字符串,MathDOM module应该适用于该字符串。
一个例子是:
<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模块中没有正常工作(试图包含错误的模块结构等)。
有没有人知道有用的替代方案?
答案 0 :(得分: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()
对我来说好,因为我已经在使用它,但远非一般的解决方案。