# 查找节点,开始为“/”从根节点开始查找,否则从当前节点查找
def FindNode(self,path):
if path is None or len(path.strip())==0: return XmlNode(None,self.rootNode);
path = path.strip();
node = None;
if path[0]=='/':
node = self.rootNode.find(path[1:]);
else:
node = self.currentNode.find(path);
return XmlNode(node,self.rootNode);
# 查找多节点
def FindNodes(self,path):
if path is None or len(path.strip())==0: return XmlNode(None,self.rootNode);
if path[0]=='/':
nodes = self.rootNode.findall(path[1:]);
else:
nodes = self.currentNode.findall(path);
return [XmlNode(node,self.rootNode) for node in nodes];
# 获取子节点列表
def GetChildrens(self,tag=None):
return [XmlNode(node,self.rootNode) for node in self.currentNode.iter(tag=tag)];
# 格式化数据
def GetFormatData(self,node,type):
if type==XmlNodeValue.STRING:
v = node.GetStr();
elif type==XmlNodeValue.INT:
v = node.GetInt();
elif type==XmlNodeValue.FLOAT:
v = node.GetFloat();
elif type==XmlNodeValue.BOOL:
v = node.GetBool();
else:
v = node.GetData();
return v;
# 获取子节点内容列表
# valueFormat 值类型 1 字符串,2 整数,3 小数,4 布尔值
def GetChildrenList(self,tag=None,valueFormat=XmlNodeValue.STRING):
data = [];
for node in self.GetChildrens(tag=tag):
data.append(self.GetFormatData(node,valueFormat));










