遍历XML子节点

时间:2019-07-16 09:09:11

标签: java android xml nodes

我已经成功遍历了获取名称,姓氏和薪水的XML节点的XML列表,但是当我想遍历成本节点中的多个薪水时,我得到了所有员工薪水重复的信息,而不是两次发布的个人薪水(在示例中) XML,只有1名员工有2薪水。薪水2从不显示。

我无法弄清楚循环中的循环出了什么问题(因为我复制了第一个循环,效果很好)

fastcgi_read_timeout

Java代码

 <records>
     <employee>
         <name>Sairamkrishna</name>
             <surname>Mammahe</surname>
         <cost>
             <salary>50000</salary>
             <salary>99000</salary>
         </cost>
     </employee>

     <employee>
         <name>Gopal </name>
         <surname>Varma</surname>
         <cost>
             <salary>60000</salary>
         </cost>
     </employee>

     <employee>
         <name>Raja</name>
         <surname>Hr</surname>
         <cost>
             <salary>70000</salary>
         </cost>
     </employee>
     <employee>
         <name>Gopal </name>
         <surname>Varma</surname>
         <cost>
             <salary>60000</salary>
         </cost>
     </employee>
 </records>

2 个答案:

答案 0 :(得分:0)

它不能工作,因为NodeList nList1 = doc.getElementsByTagName("cost");首先要获取所有成本要素,而不是按员工逐个获取成本。

我不完全知道如何解决您的问题,但是我认为将库用作JAXB可以解决问题。

答案 1 :(得分:0)

我找到了一种方法。

    NodeList salary = el.getElementsByTagName("salary");
                         for (int j = 0; j < salary.getLength(); j++) {
                             String nSalary = salary.item(j).getTextContent();
                             tv1.setText(tv1.getText()+"Salary: "+nSalary+"\n");
                    }