diff --git a/pym/cl_profile.py b/pym/cl_profile.py index 053eb23..d8b64a5 100644 --- a/pym/cl_profile.py +++ b/pym/cl_profile.py @@ -936,10 +936,34 @@ class xmlDoc: areaNode) return True + def getAreaFields(self, nameArea, xmlArea): + """По имени области выводит названия и значения всех переменных + + поиск ведется только в 1-х потомках области xmlArea + на выход словарь переменных {имя:значение} + """ + namesAreaComare = xpath.Evaluate(\ + "child::area/child::caption[child::name='%s']" %(nameArea), + xmlArea) + if not namesAreaComare: + return False + fields = xpath.Evaluate("child::field/child::name", + namesAreaComare[0].parentNode) + dictVar = {} + for fieldName in fields: + nodeField = fieldName.parentNode + fieldValue = xpath.Evaluate("child::value",nodeField) + name = fieldName.firstChild.nodeValue + value = "" + if fieldValue: + value = fieldValue[0].firstChild.nodeValue + dictVar[name] = value + return dictVar + def getAreaFieldValues(self, nameArea, nameField, xmlArea): """По имени области и имени переменной выводит значениe переменной - поиск ведется только в полях 1-х потомках области xmlArea + поиск ведется только в 1-х потомках области xmlArea """ namesAreaComare = xpath.Evaluate(\ "child::area/child::caption[child::name='%s']" %(nameArea),