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

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

百度做的網(wǎng)站能優(yōu)化嗎網(wǎng)站的seo 如何優(yōu)化

百度做的網(wǎng)站能優(yōu)化嗎,網(wǎng)站的seo 如何優(yōu)化,做網(wǎng)站多少錢啊,net域名做企業(yè)網(wǎng)站怎么樣1、問題背景 我們在使用 LXML 庫解析 MathML 表達(dá)式時,可能會遇到這樣一個問題:在遞歸解析過程中,我們可能會重復(fù)進(jìn)入同一個節(jié)點,導(dǎo)致解析結(jié)果不正確。例如,我們希望將以下 MathML 表達(dá)式解析為 Python 表達(dá)式&#x…

在這里插入圖片描述

1、問題背景

我們在使用 LXML 庫解析 MathML 表達(dá)式時,可能會遇到這樣一個問題:在遞歸解析過程中,我們可能會重復(fù)進(jìn)入同一個節(jié)點,導(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', ')', ')']

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

2、解決方案

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

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

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/5569.html

相關(guān)文章:

  • wordpress 做的網(wǎng)站全球中文網(wǎng)站排名
  • seo網(wǎng)站建設(shè)廈門2022千鋒教育培訓(xùn)收費(fèi)一覽表
  • 網(wǎng)站制作多少錢?個人網(wǎng)站制作教程
  • 類似情侶空間的網(wǎng)站開發(fā)制作網(wǎng)站平臺
  • 高端女裝有哪些品牌搜索引擎排名優(yōu)化seo
  • 銅川做網(wǎng)站電話顏色廣告
  • 燕郊網(wǎng)站建設(shè)公司企業(yè)網(wǎng)站推廣方案設(shè)計畢業(yè)設(shè)計
  • 南京 網(wǎng)站制作公司新網(wǎng)域名
  • 網(wǎng)站開發(fā)開票內(nèi)容寫什么產(chǎn)品關(guān)鍵詞大全
  • 林州網(wǎng)站建設(shè)拉新十大推廣app平臺
  • php網(wǎng)站優(yōu)點廈門seo培訓(xùn)
  • 做家教去哪個網(wǎng)站武漢seo價格
  • 企業(yè)網(wǎng)站建設(shè)與優(yōu)化深圳做推廣哪家比較好
  • 找大學(xué)生做家教去哪個網(wǎng)站找好關(guān)鍵詞seo深圳
  • 做網(wǎng)站搭建環(huán)境游戲推廣員一個月能賺多少
  • 網(wǎng)站登錄 效果代碼seo綜合查詢怎么用的
  • 濟(jì)南網(wǎng)站建設(shè)公網(wǎng)絡(luò)服務(wù)
  • 做網(wǎng)站推廣什么好友情鏈接網(wǎng)站源碼
  • 做公眾號的網(wǎng)站有哪些功能如何網(wǎng)站關(guān)鍵詞優(yōu)化
  • 做畢業(yè)論文的網(wǎng)站怎樣創(chuàng)建自己的網(wǎng)站
  • 網(wǎng)站建站網(wǎng)站的seo是什么意思?
  • 建網(wǎng)站盈利的幾種方式投放廣告
  • 哪些網(wǎng)站可以接設(shè)計的單子做培訓(xùn)管理平臺
  • 新的網(wǎng)站做淘寶客搜外網(wǎng)友情鏈接
  • 如何開始做b2b網(wǎng)站站長查詢工具
  • 江西省的建設(shè)廳官方網(wǎng)站社群營銷方案
  • 可以做引流網(wǎng)站的源碼全球搜怎么樣
  • 網(wǎng)站運(yùn)營淘寶關(guān)鍵詞挖掘工具
  • 石家莊有哪些公司可以做網(wǎng)站電子商務(wù)營銷方法
  • 怎樣做音視頻宣傳網(wǎng)站正規(guī)網(wǎng)站建設(shè)公司