如何从 XML 文件中填充他命名的元组?
How does one populate his named tuple from an XML File?
我有点卡住了
我想知道我应该如何从 XML 文件填充我的元组。
这是我目前所拥有的:
from xml.dom import minidom
class Code:
def __init__(self, ErrorCode, Amount):
self.ErrorCode = ErrorCode
self.Amount = Amount
filepath = "D:\V11\Dog"
Codes = (Code('txtPLC_ERROR;A: 16', 0), Code('txtPLC_ERROR;A: 119', 0), Code('txtPLC_ERROR;B: 95', 0))
def readConfig():
xmldoc = minidom.parse(filepath + '\Config.xml')
itemlist = xmldoc.getElementsByTagName('item')
# print(len(itemlist))
# print(itemlist[0].attributes['name'].value)
for s in itemlist:
print("Some Profound text")
Codes.ErrorCode += s
readConfig()
现在我收到这个错误:
File "..\PycharmProjects\ProjectX\Analyze.py", line 32, in readConfig
Codes.Errorcode += s
AttributeError: 'tuple' object has no attribute 'Errorcode'>
请不要因为我笨就举报这个问题。
Codes.ErrorCode += s
很有道理。代码是一个元组,包含 class 代码的对象。现在如果你想添加新的代码对象,你需要做类似 Codes += Code(string, error_code)
.
的事情
但是,Tuples 是不可变的。一旦元组被创建,你就不能 add/remove 东西。但是,您可以使用列表。
# codes is a list
Codes = [Code('txtPLC_ERROR;A: 16', 0), Code('txtPLC_ERROR;A: 119', 0), Code('txtPLC_ERROR;B: 95', 0)]
def readConfig():
xmldoc = minidom.parse(filepath + '\Config.xml')
itemlist = xmldoc.getElementsByTagName('item')
for s in itemlist:
# append a code object to codes
Codes.append(Code(s, 0))
readConfig()
我有点卡住了
我想知道我应该如何从 XML 文件填充我的元组。
这是我目前所拥有的:
from xml.dom import minidom
class Code:
def __init__(self, ErrorCode, Amount):
self.ErrorCode = ErrorCode
self.Amount = Amount
filepath = "D:\V11\Dog"
Codes = (Code('txtPLC_ERROR;A: 16', 0), Code('txtPLC_ERROR;A: 119', 0), Code('txtPLC_ERROR;B: 95', 0))
def readConfig():
xmldoc = minidom.parse(filepath + '\Config.xml')
itemlist = xmldoc.getElementsByTagName('item')
# print(len(itemlist))
# print(itemlist[0].attributes['name'].value)
for s in itemlist:
print("Some Profound text")
Codes.ErrorCode += s
readConfig()
现在我收到这个错误:
File "..\PycharmProjects\ProjectX\Analyze.py", line 32, in readConfig
Codes.Errorcode += s
AttributeError: 'tuple' object has no attribute 'Errorcode'>
请不要因为我笨就举报这个问题。
Codes.ErrorCode += s
很有道理。代码是一个元组,包含 class 代码的对象。现在如果你想添加新的代码对象,你需要做类似 Codes += Code(string, error_code)
.
但是,Tuples 是不可变的。一旦元组被创建,你就不能 add/remove 东西。但是,您可以使用列表。
# codes is a list
Codes = [Code('txtPLC_ERROR;A: 16', 0), Code('txtPLC_ERROR;A: 119', 0), Code('txtPLC_ERROR;B: 95', 0)]
def readConfig():
xmldoc = minidom.parse(filepath + '\Config.xml')
itemlist = xmldoc.getElementsByTagName('item')
for s in itemlist:
# append a code object to codes
Codes.append(Code(s, 0))
readConfig()