中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

國外怎么做直播網(wǎng)站網(wǎng)站很卡如何優(yōu)化

國外怎么做直播網(wǎng)站,網(wǎng)站很卡如何優(yōu)化,聊城網(wǎng)站建設(shè)優(yōu)化,月季花app是哪家公司開發(fā)的1、問題背景 我們在使用 LXML 庫解析 MathML 表達(dá)式時(shí),可能會(huì)遇到這樣一個(gè)問題:在遞歸解析過程中,我們可能會(huì)重復(fù)進(jìn)入同一個(gè)節(jié)點(diǎn),導(dǎo)致解析結(jié)果不正確。例如,我們希望將以下 MathML 表達(dá)式解析為 Python 表達(dá)式&#x…

在這里插入圖片描述

1、問題背景

我們在使用 LXML 庫解析 MathML 表達(dá)式時(shí),可能會(huì)遇到這樣一個(gè)問題:在遞歸解析過程中,我們可能會(huì)重復(fù)進(jìn)入同一個(gè)節(jié)點(diǎn),導(dǎo)致解析結(jié)果不正確。例如,我們希望將以下 MathML 表達(dá)式解析為 Python 表達(dá)式:

<?xml version="1.0"?>
<math xmlns="http://www.w3.org/1998/Math/MathML" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/1998/Math/MathML http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd"><mrow><mfrac><mn>3</mn></mn><mn>5</mn></mn></mfrac></mrow>
</math>

如果我們使用以下代碼來解析該表達(dá)式:

def parseMML(mmlinput):from lxml import etreefrom StringIO import *from lxml import objectifyexppy=[]events = ("start", "end")context = etree.iterparse(StringIO(mmlinput),events=events)for action, elem in context:if (action=='start') and (elem.tag=='mrow'):exppy+='('if (action=='end') and (elem.tag=='mrow'):exppy+=')'if (action=='start') and (elem.tag=='mfrac'):mmlaux=etree.tostring(elem[0])exppy+=parseMML(mmlaux)exppy+='/'mmlaux=etree.tostring(elem[1])exppy+=parseMML(mmlaux)if action=='start' and elem.tag=='mn': #this is a numberexppy+=elem.textreturn (exppy)

那么我們得到的解析結(jié)果將是:

['(', '(', '3', ')', '/', '(', '5', ')', '(', '3', ')', '(', '5', ')', ')']

而不是我們期望的:

['(', '(', '3', ')', '/', '(', '5', ')', ')']

這是因?yàn)樵诮馕?mfrac 節(jié)點(diǎn)時(shí),我們遞歸調(diào)用了 parseMML 函數(shù)兩次,分別解析了分子和分母。而在解析分子時(shí),我們又遞歸調(diào)用了 parseMML 函數(shù),導(dǎo)致重復(fù)進(jìn)入了 mrow 節(jié)點(diǎn)。

2、解決方案

為了解決這個(gè)問題,我們可以使用一個(gè)棧來保存已經(jīng)解析過的節(jié)點(diǎn)。當(dāng)我們開始解析一個(gè)新的節(jié)點(diǎn)時(shí),我們可以將該節(jié)點(diǎn)壓入棧中。當(dāng)我們完成解析該節(jié)點(diǎn)時(shí),我們可以將該節(jié)點(diǎn)從棧中彈出。這樣,我們就能夠避免重復(fù)進(jìn)入同一個(gè)節(jié)點(diǎn)。

以下代碼演示了如何使用棧來避免重復(fù)進(jìn)入同一個(gè)節(jié)點(diǎn):

def parseMML(mmlinput):from lxml import etreefrom StringIO import *from lxml import objectifyexppy=[]events = ("start", "end")context = etree.iterparse(StringIO(mmlinput),events=events)nodestack=[]for action, elem in context:if action=='start' and elem.tag in nodestack:continueif (action=='start') and (elem.tag=='mrow'):nodestack.append(elem.tag)exppy+='('if (action=='end') and (elem.tag=='mrow'):nodestack.pop()exppy+=')'if (action=='start') and (elem.tag=='mfrac'):nodestack.append(elem.tag)mmlaux=etree.tostring(elem[0])exppy+=parseMML(mmlaux)exppy+='/'mmlaux=etree.tostring(elem[1])exppy+=parseMML(mmlaux)if action=='start' and elem.tag=='mn': #this is a numberexppy+=elem.textreturn (exppy)

使用該代碼,我們可以得到正確的解析結(jié)果:

['(', '(', '3', ')', '/', '(', '5', ')', ')']
http://www.risenshineclean.com/news/22835.html

相關(guān)文章:

  • 做網(wǎng)站和seo流程接推廣app任務(wù)的平臺(tái)
  • 企業(yè)網(wǎng)站html源代碼永久免費(fèi)二級域名申請
  • 二次網(wǎng)站開發(fā)電商seo是什么
  • 輕定制網(wǎng)站建設(shè)seo在中國
  • 河北網(wǎng)站建設(shè)與推廣站長域名查詢工具
  • 網(wǎng)站設(shè)計(jì)開發(fā)人員招聘40個(gè)免費(fèi)靠譜網(wǎng)站
  • 食品包裝設(shè)計(jì)價(jià)格seo崗位工資
  • 做網(wǎng)站用windows和 linux廣州網(wǎng)絡(luò)推廣公司有哪些
  • 企業(yè)網(wǎng)站建設(shè)論文糕點(diǎn)烘焙專業(yè)培訓(xùn)學(xué)校
  • 網(wǎng)站域名免費(fèi)申請網(wǎng)站排名優(yōu)化培訓(xùn)哪家好
  • 做 愛 網(wǎng)站小視頻下載查詢網(wǎng)官網(wǎng)
  • 中石化第五建設(shè)有限公司官方網(wǎng)站濰坊關(guān)鍵詞優(yōu)化平臺(tái)
  • wordpress商家展示主題企業(yè)網(wǎng)站的優(yōu)化建議
  • 社區(qū)工作者優(yōu)化設(shè)計(jì)方法
  • 保定市住房和城鄉(xiāng)建設(shè)局網(wǎng)站競價(jià)廣告點(diǎn)擊軟件
  • 武漢黃浦醫(yī)院網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化排名平臺(tái)
  • 獨(dú)立做網(wǎng)站需要學(xué)什么條件關(guān)鍵詞優(yōu)化怎么寫
  • 做代購注冊什么網(wǎng)站搜索引擎優(yōu)化解釋
  • 臺(tái)州網(wǎng)站開發(fā)太原網(wǎng)站優(yōu)化公司
  • 學(xué)會(huì)了vue 能搭建一個(gè)網(wǎng)站平臺(tái)比較靠譜的電商培訓(xùn)機(jī)構(gòu)
  • jsp開發(fā)網(wǎng)站百度指數(shù)人群畫像哪里查詢
  • 網(wǎng)站備案的是域名還是空間電子商務(wù)網(wǎng)站建設(shè)與維護(hù)
  • 搭建網(wǎng)站難嗎電商培訓(xùn)學(xué)校
  • 玉溪做網(wǎng)站的公司seo的優(yōu)化步驟
  • 奪寶網(wǎng)站怎樣做優(yōu)化泰安做百度推廣的公司
  • 網(wǎng)站開發(fā)有什么點(diǎn)子軟文生成器
  • 公司主頁網(wǎng)站怎么做免費(fèi)推廣軟件 推廣幫手
  • 服務(wù)器方面如何規(guī)劃建設(shè)網(wǎng)站外貿(mào)網(wǎng)站有哪些平臺(tái)
  • 政府門戶網(wǎng)站建設(shè)的基本意義有哪些網(wǎng)絡(luò)營銷的概念和特點(diǎn)是什么
  • 網(wǎng)站建設(shè)項(xiàng)目合同如何做好網(wǎng)絡(luò)推廣