100分,求解Java读取XML当前节点属性问题

pleonheart 2003-10-26 01:31:44
如何用Java读取XML当前节点的属性,而不是将其子节点的属性也读出来
XML的节点名、属性名等都是不可知的

我对XML不太熟,一开始用的DOM,用getAttributes方法,发现将节点的子节点也读出来了
由于使用的是递归算法,造成数据重复

请问有什么办法能解决啊,谢谢大家
...全文
453 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
pleonheart 2003-10-28
  • 打赏
  • 举报
回复
上面的代码贴错了,应该是
NamedNodeMap nnm = ( (Element) node).getAttributes();
for (int j = 0;j < nnm.getLength();j++)
{
Node detailNode = nnm.item(j);
System.out.println(detailNode.getNodeName()+" :"+detailNode.getNodeValue());
}
pleonheart 2003-10-28
  • 打赏
  • 举报
回复
晕死
Element elem = (Element) node;
for (int i = 0;i < elem.getLength();i ++) {
System.out.println(elem.item(i));
}
就是得到结点下属性的方法
问题是我在读到属性指以后,又去做了一次递归,所以会把子结点下的属性也读出来
哎,太菜鸟了
谢谢大家啊
realfishhook 2003-10-28
  • 打赏
  • 举报
回复
刚看了sax一天,他倒是能读出当前节点的属性
但是,楼主是递归结构,sax能行吗(我不知道行不行,就是问问),sax不是顺序读取的吗
pleonheart 2003-10-27
  • 打赏
  • 举报
回复
liad():
你的方法是通过Attribute名来得到值的吧,但我不知道属性的名称啊
chongyawang(虫牙):
我去试试先
liad 2003-10-27
  • 打赏
  • 举报
回复
Element elem = (Element) node;
String attr1 = elem.getAttribute("attr1");
javapopo 2003-10-27
  • 打赏
  • 举报
回复
SAX不可以么?
chongyawang 2003-10-27
  • 打赏
  • 举报
回复
需要通过Node的getNodeTyep(),将节点属性读出,比如DOCUMENT_NODE_TYPE 或是 ELEMENT_NODE 等类型,加以判别,确定不是包含子节点的元素了,在读它的属性值可以了,希望有所帮助...
pleonheart 2003-10-26
  • 打赏
  • 举报
回复
能不能给我一个JDOM的例子啊,我是XML的初学者,谢谢
LuZhou 2003-10-26
  • 打赏
  • 举报
回复
JXSL/JDOM
yinwaner 2003-10-26
  • 打赏
  • 举报
回复
该用JDOM

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧