通過python將xml檔案轉換成html檔案

2022-08-27 00:15:13 字數 3107 閱讀 6042

def

main

():maxwidth = 100

#用於規範字段的長度

print_start()

count=0

while

true:

try:

line =input()

if count == 0:

color = 'lightgreen'

elif count % 2: #取餘

color = 'white'

else:

color = 'lightyellow'

print_line(line,color,maxwidth)

count += 1

except eoferror:

break

print_end()

maxwidth 用於規範字段的長度,一旦比這個長度長的字段,我們可以通過用省略號來替代後面的內容

count 用於對檔案中的顏色的改變,斑馬紋的實現。

上面的**中的print_start(),print_line(),print_end()三個函式是我們自己的設定的函式,**在後面

print_start() 函式用於輸入開頭

print_end() 函式用於輸入結尾

print_line() 將該行以html的形式輸出

def

print_start

():print("")

#用於檔案的開始頭拼接

def

print_end

():print("")

#用於檔案的結尾拼接

上面兩個是用來減少函式之間的關聯性,雖然在函式中新增print(…)也可以,

但是這樣可以更加規範,以後修改也比較容易,對之後的運維提供極大的方便,

通過修改函式,可以將所有的頭尾一起修改。

def

print_line

(line,color,maxwidth):

print("".format(color))

fields = extrace_fields(line)

for field in fields:

ifnot field:

print("")

else:

number = field.replace(",","")

#這裡把」,「改成」「的意義是為了將數值1,000轉換為1000的格式

try:

x = float(number)

print("33".format(round(x)))

except valueerror:

field =field.title() 

'''用於注釋

title函式是用來將字串的首字母大寫處理            

str = "this is string example from runoob....wow!!!"

請注意,非字母後的第乙個字母將轉換為大寫字母:

txt = "hello b2b2b2 and 3g3g3g"

print(txt.title())    #hello b2b2b2 and 3g3g3g

'''field = field.replace('and','and')

if len(field) <= maxwidth:

field = escape_html(field)

else:

field = "...".format(

escape_html(field[:maxwidth]))

print("".format(field))

print("")

這段程式是將通過for遍歷檔案,提取出裡面的值,將裡面的值進行規範化 然後通過需要的html格式通過format拼接,最後顯示出來。

通過try的異常捕捉,我們可以將檔案中的數字與字串分開處理,數字通過flaot進行小數格式化,字串通過title格式化

這又體現了python語言通過try捕獲異常的靈活性

為什麼不再讀取的時候直接通過replace進行分割字串?

因為這是為了防止出現,分號中間有」,「 使檔案不正確分割,導致程式出現錯誤,所以,我們要在print_line中在進行分割,減少錯誤的產生

extrace_fields(line)是自定義函式,函式的作用是將字段串進行分割

def

extrace_fields

(line):

fields =

field = ''

quote = none

for c in line:

if c in

"\"":    

if quote is

none:  #start of quoted string

quote = c

elif quote == c: #end of quoted string

quote = none

else:

field += c #other quote inside quoted string

continue

if quote is

none

and c == ",": #end of a field

else:

field += c  #accumulating a field

return fields

def

escape_html

(text):

text = text.replace('&','&')

text = text.replace('<',"<")

text = text.replace(">",">")

return text

通過替換函式將'<','>'替換成html可識別的實體字元,不替換的話 html會將'<','>'大於小於符號識別為尖括號<>

xml字串轉物件xml檔案轉物件

判斷是否是ie瀏覽器和非ie瀏覽器的方法有多種,在此只介紹用例中的方法 1 解析xml字串,得到xml物件的方式 function createxml str else 2 解析xml檔案,將其轉換為xml物件的方式 js view plain copy axmlfilename是xml檔案路徑名 ...

使用python將xml檔案解析成html檔案

功能就是題目所述,我的python2.7,裝在windows環境,我使用的開發工具是wingide 6.0 1首先是我設計的簡單的乙個xml檔案,也就是用來解析的原始檔 下面是這個檔案website.xml內容 this is a moment 解釋 page就是對應乙個html檔案,這裡有兩個pa...

通過shell解析xml檔案

背景 有如下xml檔案,需要通過shell得到每乙個filename中的值 aa.xml 實現 aaa.txtfilename 25684256filesize bbb.txtfilename 25684256filesize ccc.txtfilename 25684256filesize ddd...