CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web Services / XML

JAVA中,怎么根据XML元素的属性值得到XML元素?

楼主sunrisefe()2006-03-05 21:23:06 在 Java / Web Services / XML 提问

像如下的XML文档片断:  
  *********************************  
  <name   address="wuhan"/>  
  <name2   address="wuhan"/>  
  <identification   address="nanchang"/>  
  *********************************  
  我想得到address属性值为"wuhan"的元素的话,怎么得到.谢谢 问题点数:10、回复次数:6Top

1 楼aaa2003gf(珍惜 (MSN:aaa2003gf@hotmail.com))回复于 2006-03-05 21:47:12 得分 0

node里有方法Top

2 楼usherlight(xingtian)回复于 2006-03-05 22:10:13 得分 6

获取父节点,然后使用childNodes数组循环检索所有子节点的属性(getAttribute("address"))  
  如果=="wuhan"  
  就找到了。Top

3 楼sunrisefe()回复于 2006-03-06 11:36:35 得分 0

如果元素中有多个属性的话怎么做呢?  
  *********************************  
  <name   address="wuhan"   phone="2"/>  
  <name2   address="wuhan"/>  
  <identification   address="nanchang"/>  
  *********************************  
  Top

4 楼sunrisefe()回复于 2006-03-06 11:56:17 得分 0

我用下面的方法先得到属性值满足某一条件的元素名称:  
   
            /**  
            *   得到指指定条件的元素。attrName为传进来的属性值;doc为文档  
            */  
          private   static   String[]   getElementName(String   attrName,Document   doc)  
          {  
          String[]   ele;  
          Element   rootEle=doc.getDocumentElement();  
           
          NodeList   childNodes=rootEle.getChildNodes();  
          Element   cur_ele;  
           
          while(int   i=0;i<childNodes.getLength();   i++)  
          {  
          cur_ele=(Element)childNodes.item(i);  
          if(cur_ele.getAttribute("des").equalsIgnoreCase("true"))  
          ele[i]=childNodes.item(i).getNodeName();  
          }  
           
          return(ele);  
          }  
   
  总是在while处有语法错误Top

5 楼losebaby(可乐罐)回复于 2006-03-06 12:00:43 得分 4

while(int   i=0;i<childNodes.getLength();   i++)  
          {  
          cur_ele=(Element)childNodes.item(i);  
          if(cur_ele.getAttribute("des").equalsIgnoreCase("true"))  
          ele[i]=childNodes.item(i).getNodeName();  
          }  
  这个是while的语法?  
  明明是一个for循环啊Top

6 楼sunrisefe()回复于 2006-03-06 14:26:14 得分 0

是啊,我检查了半天没有查出问题来。Top

相关问题

  • 关于XML元素是否有某个属性?
  • 生成XML时给节点元素加属性的问题
  • 如何使用vb.net读取xml元素的属性
  • javascript中怎样读取xml文件中元素的属性?
  • 如何使用DSO显示xml中带有属性的元素值?
  • 在XML元素中插入属性为什么运行会报错?
  • 请问如何在xsl中将xml元素中的属性全部拷贝到转换后的html元素中?
  • 关于元素和属性
  • 请问ASPNET中如何修改XML中<?xml-stylesheet type='text/xsl' href='default.xslt'?>元素的属性值??
  • xsl中如何提取xml元素中的属性value作为表单的名称和value

关键词

  • 属性
  • 元素
  • 得到
  • doc

得分解答快速导航

  • 帖主:sunrisefe
  • usherlight
  • losebaby

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo