如何从 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()