#!/usr/bin/python
# -*- coding: UTF-8 -*-
import shutil,os
import json
import math
# from lxml import etree
import xml.etree.ElementTree as ET
ET.register_namespace('e',"http://ns.egret.com/eui")
ET.register_namespace('w',"http://ns.egret.com/wing")
ET.register_namespace('tween',"egret.tween.*")
# ET.register_namespace('ns1',"*")
defaultPath = "G:\\G123Project\\h5client20221207\\resource\\default.thm.json"
filePath = "G:\\G123Project\\h5client20221207\\resource"
# filePath = "E:\\S1"
def has_key(keyInfo, key):
for value in keyInfo:
if value == key:
return True
return False
defaultInfo = {}
def SaveDefault(defaultPath):
global defaultInfo
with open(defaultPath, 'r') as fcc_file:
fcc_data = json.load(fcc_file)
defaultInfo = fcc_data["styles"]
def SetXmlSize(filePath, sizeValue):
global defaultInfo
LabelNum = 0
tree = ET.parse(filePath)
root = tree.getroot()
for Label in root.iter("{http://ns.egret.com/eui}Label"):
info = Label.attrib
if has_key(info, "size"):
size = math.ceil(float(info["size"]) )+ 2
Label.set("size", str(size))
elif has_key(info, "style"):
if has_key(defaultInfo, info["style"]):
styleName = info["style"]
if has_key(defaultInfo[styleName], "size"):
styleInfo = defaultInfo[styleName]
size = math.ceil(float(styleInfo["size"])) + 2
Label.set("size", str(size))
else:
Label.set("size", str(sizeValue))
else:
Label.set("size", str(sizeValue))
LabelNum = LabelNum + 1
if LabelNum > 0:
tree.write(filePath, encoding="utf-8", xml_declaration=True, short_empty_elements=True)
# default_namespace="{http://ns.egret.com/eui}"
def TraverseAllFile(filePath):
fileTotal = 0
file_dir = os.walk(filePath, topdown=True)
for path,dir_list,file_list in file_dir:
for file_name in file_list:
strInfo = file_name.split(".")
if strInfo[len(strInfo)-1] == "exml":
needPath = path+"\\"+file_name
fileTotal = fileTotal + 1
print(needPath)
SetXmlSize(needPath, 32)
print("fileTotal :", fileTotal)
if __name__ == '__main__':
SaveDefault(defaultPath)
TraverseAllFile(filePath)
解析xml文件并批量修改Lable标签的Size值
最新推荐文章于 2023-07-04 11:55:47 发布