Как разобрать группу тегов из XML в Android? - PullRequest
0 голосов
/ 10 ноября 2011

Народ,

это мой ответ xml:

<parent>
<child>
<name>
<age>
</child>
<child>
<name>
<age>
</child>
...</parent>

мне нужно проанализировать каждый дочерний контент как строку xml, которая:

Требуется вывод:

<child>
<name>
<age>
</child>

Я также использовал метод нормализации.но все же я сталкиваюсь с проблемой, чтобы получить правильный вывод.

мой код:

NodeList nodes = document.getElementsByTagName("child");// here documentobject is the Document of my xml.

for (int i = 0; i < nodes.getLength(); i++) {
    Node element = nodes.item(i);
    // nodes.item(i).normalize();    
    System.out.println(nodes.item(i).getNodeValue());
}

Есть идеи?

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Для этого вы хотите использовать getTextContent(), а не getNodeValue() ....

NodeList nodes = doc.getElementsByTagName("child");
        for (int i = 0; i < nodes.getLength(); i++) {           
            if (nodes.item(i).getNodeType() == Node.ELEMENT_NODE) {
                NodeList msgChildren = nodes.item(i).getChildNodes();
                for (int j = 0; j < msgChildren.getLength(); j++) {
                    if (msgChildren.item(j).getNodeType() == Node.ELEMENT_NODE) {
                        Element e = (Element) msgChildren.item(j);
                        System.out.println("<"+e.getNodeName()+">");
                        System.out.println(e.getTextContent());
                        System.out.println("</"+e.getNodeName()+">");                        
                    }
                }
            }
        }
0 голосов
/ 10 ноября 2011

Отметьте это ниже, фрагмент:

        NodeList items_records = element.getElementsByTagName("child");
            for (int a = 0; a < items_records.getLength(); a++) {
                Node item_records = items_records.item(a);
                NodeList properties_records = item_records.getChildNodes();
                for (int b = 0; b < properties_records.getLength(); b++) {
                    Node property_records = properties_records.item(b);
                    String name_records = property_records.getNodeName();

                    try{
                        if (name_records.equalsIgnoreCase("name")) {
                           parsed_total_records_value = property_records.getFirstChild().getNodeValue(); 
                           Log.v("parsed_total_records_value",parsed_total_records_value);
                        }
                    }catch(Exception e){
                }   
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...