xml读取同名节点问题 请各位大侠帮忙
xml :
<?xml version="1.0" encoding="gb2312" ?>
<list>
<Total>
<results>3</results>
</Total>
<list>
<tab>
<a>1</a>
<b>2</b>
<c>3</c>
</tab>
<tab>
<a>4</a>
<b>5</b>
<c>6</c>
</tab>
</list>
<list>
<tab_ab>
<a>1</a>
<b>2</b>
<d>3</d>
</tab_ab>
<tab_ab>
<a>4</a>
<b>5</b>
<d>6</d>
</tab_ab>
</list>
</list>
java代码:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(new File("a.xml"));
NodeList list = document.getElementsByTagName("tab");
NodeList listscpc = document.getElementsByTagName("tab_ab");
for(int i=0;i<list.getLength();i++)
{
B b= new B();
b.setA(document.getElementsByTagName("a").item(i).getFirstChild().getNodeValue());
b.setB(document.getElementsByTagName("b").item(i).getFirstChild().getNodeValue());
b.setC(document.getElementsByTagName("c").item(i).getFirstChild().getNodeValue());
}
for(int i=0;i<listscpc.getLength();i++)
{
A a= new A();
a.setA(document.getElementsByTagName("a").item(i).getFirstChild().getNodeValue());
a.setB(document.getElementsByTagName("b").item(i).getFirstChild().getNodeValue());
a.setD(document.getElementsByTagName("d").item(i).getFirstChild().getNodeValue());
}
问题:
第二个循环会读到第一个循环中去,现在就是不知道怎么指点到节点下面去读,例如:list 只读取tab下面的,请各位赐教
------解决方案--------------------
File f = new File("F:\\a.xml");
DocumentBuilder db = dbf.newDocumentBuilder();
document = db.parse(f);
Element root = document.getDocumentElement();
NodeList nl = root.getElementsByTagName("tab_ab");
for(int i=0; i<nl.getLength(); i++){
Element e = (Element) nl.item(i);
System.out.println(e.getTextContent());
}