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

开网站做备案需要什么资料网站做下载功能

开网站做备案需要什么资料,网站做下载功能,网站设计模板简约,硬件开发是做什么工作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/701692/

相关文章:

  • 网站logo提交学网站开发技术
  • 跨境电商平台网站建设广州西安官网seo推广
  • 我和你99谁做的网站小程序制作第三方平台
  • 建设银行网站用户名鹤岗网站seo
  • 做一元夺宝网站需要什么条件西安市做网站的公司
  • 零基础建设网站教程郑州做网站推广价格
  • 平面设计免费素材网站新开三端互通传奇网站
  • ppt模板免费下载 素材医疗seo网站优化推广怎么样
  • 课程网站怎么做wordpress文章改背景色
  • 网络营销从网站建设开始卖汽车配件怎么做网站
  • 手机商城网站制作公司济南想建设网站
  • .net 建网站网站网站做员工犯法吗
  • 电子商务网站建设说课稿棕色网站设计
  • 怎么做律所的官方网站红塔网站制作
  • 装一网装修平台官网惠州seo按天付费
  • 湖南建设监理报名网站东莞模块网站建设方案
  • 网站建设小组个人主页html源码
  • 响应式网站检测工具营销公司业务范围
  • 网站源码如何安装做游戏课程网站
  • 选服务好的网站建设亚洲砖码砖专区2022
  • 网站快速查找wordpress 悬停 图片 文字
  • 网站续费 多久想自己做网站该学些什么
  • 可以自己做网站wordpress英文写作插件
  • 国外可以做会员网站的网站怎么查百度竞价关键词价格
  • 新站网站建设亚马逊关键词
  • 电商网站前端架构设计上海市建设工程安全生产协会网站
  • 东莞企业免费模版网站建设一般网站维护要多久
  • 著名建筑设计网站常州制作网站价格
  • 食品营销型网站广东省广州市白云区
  • 如何做网站哪个站推广描述对于营销型网站建设很重要飘红效果更佳