java xml获取子节点属性_XML的Java DOM解析-无法从子节点获得属性

我正在尝试使用Java中的DOM解析器解析XML文档.我需要获取各种属性的值.我正在尝试解析以下文档:

使用以下代码:

import java.io.InputStream;

import java.util.HashMap;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.ksoap2.serialization.SoapObject;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.NamedNodeMap;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

public class Parsers {

String Etg, Dob, Breed, Brd, Sex, EId, GdEtg, SuEtg, SiEtg, BLoc, BSLoc,

PLoc, PSLoc, Code, Desc;

static String response;

public String Birth(InputStream in) {

try {

DocumentBuilderFactory dbFactory = DocumentBuilderFactory

.newInstance();

DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();

Document doc = dBuilder.parse(in);

doc.getDocumentElement().normalize();

try {

NodeList list = doc.getElementsByTagName("Reject");

int L = list.getLength();

for (int x = 0; x < L; x++) {

setNull();

Node node = list.item(x);

NodeList sublist = node.getChildNodes();

for (int y = 0; y < sublist.getLength(); y++) {

Node finNode = (Node) sublist.item(y);

if (finNode.getNodeType() == Node.ELEMENT_NODE) {

Element fin = (Element) finNode;

getAttributes(fin);

}

}

}

}catch(Exception e){}

}catch(Exception e){}

}

private void getAttributes(Element fin) {

Etg = fin.getAttribute("Etg");

Code = fin.getAttribute("Code");

System.out.println(Etg + ":" + Code);

}

}

当我得到Etg的值时,Code和Desc的值将返回为空白.我认为这是因为它们被嵌入在更深的“层”中,但是我不知道如何解决该问题.

非常感谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值