return data;
# 获取子节点Map表
# keyType 1 使用属性值 2 使用子节点
# keyName 属性值名称或子节点名称
# valueType 1 使用属性值 2 使用子节点
# ValueName 属性值名称或子节点名称
def GetChildrenMap(self,tag=None,keyType=XmlNodeMap.ATTR,keyName="name",valueType=XmlNodeMap.TEXT,valueName=None,valueFormat=XmlNodeValue.STRING):
data = {};
for node in self.GetChildrens(tag=tag):
k,v = None,None;
if keyType==XmlNodeMap.ATTR:
if keyName is None or len(keyName.strip())==0: continue;
k = node.GetAttrs().GetStr(keyName);
elif keyType==XmlNodeMap.NODE:
if keyName is None or len(keyName.strip())==0: continue;
t = node.FindNode(keyName);
if not t.IsLoad(): continue;
k = t.GetStr();
elif keyType==XmlNodeMap.TEXT:
k = node.GetStr();
else:
continue;
if k is None or len(k.strip())==0: continue;
if valueType==XmlNodeMap.ATTR:
if valueName is None or len(valueName.strip())==0: continue;
v = self.GetFormatData(node.GetAttrs(),valueFormat);
elif valueType==XmlNodeMap.NODE:
if valueName is None or len(valueName.strip())==0: continue;
t = node.FindNode(valueName);










