当前位置: 首页 > news >正文

郑州企业做网站淘宝网页设计多少钱

郑州企业做网站,淘宝网页设计多少钱,wordpress注册数学验证码,东凤网站1、问题背景 我们在使用 LXML 库解析 MathML 表达式时#xff0c;可能会遇到这样一个问题#xff1a;在递归解析过程中#xff0c;我们可能会重复进入同一个节点#xff0c;导致解析结果不正确。例如#xff0c;我们希望将以下 MathML 表达式解析为 Python 表达式#x… 1、问题背景 我们在使用 LXML 库解析 MathML 表达式时可能会遇到这样一个问题在递归解析过程中我们可能会重复进入同一个节点导致解析结果不正确。例如我们希望将以下 MathML 表达式解析为 Python 表达式 ?xml version1.0? math xmlnshttp://www.w3.org/1998/Math/MathML xmlns:mmlhttp://www.w3.org/1998/Math/MathML xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://www.w3.org/1998/Math/MathML http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsdmrowmfracmn3/mn/mnmn5/mn/mn/mfrac/mrow /math如果我们使用以下代码来解析该表达式 def parseMML(mmlinput):from lxml import etreefrom StringIO import *from lxml import objectifyexppy[]events (start, end)context etree.iterparse(StringIO(mmlinput),eventsevents)for action, elem in context:if (actionstart) and (elem.tagmrow):exppy(if (actionend) and (elem.tagmrow):exppy)if (actionstart) and (elem.tagmfrac):mmlauxetree.tostring(elem[0])exppyparseMML(mmlaux)exppy/mmlauxetree.tostring(elem[1])exppyparseMML(mmlaux)if actionstart and elem.tagmn: #this is a numberexppyelem.textreturn (exppy)那么我们得到的解析结果将是 [(, (, 3, ), /, (, 5, ), (, 3, ), (, 5, ), )]而不是我们期望的 [(, (, 3, ), /, (, 5, ), )]这是因为在解析 mfrac 节点时我们递归调用了 parseMML 函数两次分别解析了分子和分母。而在解析分子时我们又递归调用了 parseMML 函数导致重复进入了 mrow 节点。 2、解决方案 为了解决这个问题我们可以使用一个栈来保存已经解析过的节点。当我们开始解析一个新的节点时我们可以将该节点压入栈中。当我们完成解析该节点时我们可以将该节点从栈中弹出。这样我们就能够避免重复进入同一个节点。 以下代码演示了如何使用栈来避免重复进入同一个节点 def parseMML(mmlinput):from lxml import etreefrom StringIO import *from lxml import objectifyexppy[]events (start, end)context etree.iterparse(StringIO(mmlinput),eventsevents)nodestack[]for action, elem in context:if actionstart and elem.tag in nodestack:continueif (actionstart) and (elem.tagmrow):nodestack.append(elem.tag)exppy(if (actionend) and (elem.tagmrow):nodestack.pop()exppy)if (actionstart) and (elem.tagmfrac):nodestack.append(elem.tag)mmlauxetree.tostring(elem[0])exppyparseMML(mmlaux)exppy/mmlauxetree.tostring(elem[1])exppyparseMML(mmlaux)if actionstart and elem.tagmn: #this is a numberexppyelem.textreturn (exppy)使用该代码我们可以得到正确的解析结果 [(, (, 3, ), /, (, 5, ), )]
http://www.w-s-a.com/news/920887/

相关文章:

  • 网站做图尺寸大小手机模板网站模板下载网站有哪些内容
  • 德阳市建设管理一体化平台网站做美食网站
  • 怎么做自己的推广网站2024年瘟疫大爆发
  • vps正常网站打不开linux网站建设
  • 福州网站快速排名在一个网站的各虚拟目录中默认文档的文件名要相同
  • 网站开发 流程图网站开发用哪个linux
  • 怎么用自己电脑做服务器发布网站吗seo门户网价格是多少钱
  • 备案网站可以做影视站网站400
  • 四川住房与城乡建设部网站注册登记
  • 网站建设第三方沈阳工程最新动态
  • 兰州做网站客户上海企业在线登记
  • 新乡公司做网站wordpress被大量注册
  • 小语种服务网站公众号平台建设网站
  • 免费做mc皮肤网站企业网站建设合同模板
  • 做网站可以申请个体户么网站的定位分析
  • jsp做的零食网站下载wordpress侧边栏折叠
  • 帝国网站单页做301南京旅游网站建设公司
  • 网站sem优化怎么做网站建设推广安徽
  • 比较好的室内设计网站潍坊网络科技
  • 南宁网站建设公设计联盟网站
  • 多个图表统计的网站怎么做百度推广费2800元每年都有吗
  • 连江县住房和城乡建设局网站企业类网站模版
  • 临沂seo整站优化厂家网站建设 大公司排名
  • 网站开发有哪些方式百度导航怎么下载
  • 网站认证免费视频直播网站建设方案
  • 瀑布流分享网站源代码下载网站构建的一般流程是什么
  • wordpress 4.9 多站wordpress邮箱解析
  • 微信网站开发企业汽车网站设计模板
  • 如何提升网站转化率遵义市公共资源交易平台
  • 网站目录管理模板企业解决方案部