Python-mathdom的替代方案

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模块中不能正常工作(尝试包含错误的模块结构等)。

有人知道有用的替代方案吗?

1个回答

2

Best solution so far: libsbml

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

对我来说还可以,因为我已经在使用它了,但离一个通用解决方案还有很远的距离。


这是一个通用解决方案吗? - Santhucool
它不支持Python 3.4。只支持2.6和2.7。 - Santhucool

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接