Russian Qt Forum

Qt => XML => Тема начата: Пытон от Январь 26, 2014, 15:40



Название: Как получить список всех параметров текущего тэга?
Отправлено: Пытон от Январь 26, 2014, 15:40
Код
Python
file = QtCore.QFile("1.xml")
dom = QtXml.QDomDocument()
dom.setContent(file)
root = dom.documentElement()
 
child = root.firstChildElement()
while not child.isNull():
   print(child.tagName(), child.attribute("ID", ""), child.attribute("FAM", ""))
   child = child.nextSiblingElement()
 

А как мне заполучить список всех параметров (ID, FAM, IM, OT и др), которые есть у текущего тэга, чтобы не перечислять их все вручную? Мне надо открыть xml-ку и показать её пользователю в виде таблички. Все имеющиеся в нём атрибуты к тэгам я могу и не знать.
Шарил, шарил по справке, по интернету - ничего не нашёл. Слабое знание английского не способствует.


Название: Re: Как получить список всех параметров текущего тэга?
Отправлено: kambala от Январь 26, 2014, 15:47
QDomNamedNodeMap QDomElement::attributes() const

Returns a QDomNamedNodeMap containing all this element's attributes.


Название: Re: Как получить список всех параметров текущего тэга?
Отправлено: Пытон от Январь 26, 2014, 17:56
Абсолютно ни о чём мне это не говорит. Как их выдрать-то оттуда?
for i in child.attributes() - не работает! Объект не поддерживает итерации, говорит.
b = child.attributes()
print(b.item(2) - выдаёт мне название объекта, типа PyQt4.QtXml.QDomNode object at 0x0332CD88

Как же их выдрать-то, наименование параметров?
Зубами их щаз драть буду!!! >:(


Название: Re: Как получить список всех параметров текущего тэга?
Отправлено: Пытон от Январь 26, 2014, 18:01
А список всех  тэгов мне тоже ведь нужно получать...


Название: Re: Как получить список всех параметров текущего тэга?
Отправлено: kambala от Январь 26, 2014, 18:05
посмотри на доступные методы у QDomNamedNodeMap, там есть всё, что нужно. а стандартное перечисление элементов не поддерживается, да.


Название: Re: Как получить список всех параметров текущего тэга?
Отправлено: Пытон от Январь 26, 2014, 18:19
Товарищ джедай, просто напиши мне недогоняющему как я могу заполучить список имён параметров.

Да хоть одно имя параметра по индексу!
parameterName = child.attributes().item(3)  - это НЕ работает!

countOfParameters = child.attributes().length() - это РАБОТАЕТ! Но нафиг мне кол-во параметров, если я их названия не могу заполучить?




Название: Re: Как получить список всех параметров текущего тэга?
Отправлено: Пытон от Январь 26, 2014, 18:28
Нашёл, тудыт-растудыт!
parameterName = child.attributes().item(3).nodeName()
Застрелить qt из гаубицы!  >:(