java xml获取子节点属性_XML的Java DOM解析-无法从子节点获得属性
发布日期:2021-06-24 11:34:03 浏览次数:2 分类:技术文章

本文共 1440 字,大约阅读时间需要 4 分钟。

我正在尝试使用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的值将返回为空白.我认为这是因为它们被嵌入在更深的“层”中,但是我不知道如何解决该问题.

非常感谢.

转载地址:https://blog.csdn.net/weixin_32541333/article/details/114355399 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:grpc java_grpc java入门教程
下一篇:java数学_Java数学

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月08日 06时50分31秒