Как получить элемент из DOM-дерева?

<page>
      <domains>
              <domain>
                     <emails>
                         <action-status/>
                                       <email>
                                             <name>test3@test.ru</name>
                                       </email>
                                        <email>
                                              <name>test2@test.ru</name>
                                       </email>
                                       <email>
                                                <name>test4@test.ru</name>
                                        </email>
                                         <email>
                                                 <name>test1@test.ru</name>
                                        </email>
                                        <email>
                                                 <name>test@test.ru</name>
                                       </email>
...


Как получить и вывести в список элементы в теге ?

пробовал вот так вот:
DOMTree = xml.dom.minidom.parse(urllib.urlopen(path))
    collection = DOMTree.documentElement
    movies = collection.getElementsByTagName("email")
	
    data = []
    for movie in movies:
       type = movie.getElementsByTagName('name')[0]
       data.append(type.childNodes[0].data) 

      return HttpResponse(data)



Но выводит все в строку.
  • Вопрос задан
  • 2489 просмотров
Решения вопроса 1
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Но выводит все в строку.

Ну так у вас data.append и добавляет в конец каждый раз? А как должен, на новую строчку или вы в объект хотите собрать их?

Думаю xpath запросы удобнее
https://developer.mozilla.org/en-US/docs/Web/API/D...
var headings = document.evaluate("*//email/name", document, null, XPathResult.ANY_TYPE, null); 
var thisHeading = headings.iterateNext(); 
var alertText = "Level 2 headings in this document are:\n";
while (thisHeading) {
  alertText += thisHeading.textContent + "\n";
  thisHeading = headings.iterateNext();
}
alert(alertText); // Alerts the text of all h2 elements


Но у вас какая то архитектурная проблема. Как то что то странное делаете)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы