yangdd1205 2014-01-02 23:30 采纳率: 100%
浏览 7447
已结题

dom4j中能否通过节点的属性获得某个具体的节点?

  1. <root>
  2. <node name="a">
  3. <xml>1</xml>
  4. </node>
  5. <node name="b">
  6. <xml>2</xml>
  7. </node>
  8. <node name="c">
  9. <xml>3</xml>
  10. </node>
  11. ....

我想获得 node name="b" 的这个节点该怎么办?求各位大神帮忙解决下!!

  • 写回答

1条回答 默认 最新

  • epw1315620 2014-01-03 10:07
    关注
    1. public static void main(String[] args) {
    2. SAXReader saxReader = new SAXReader();
    3. Document document;
    4. try {
    5. document = saxReader.read(new File(Dom4j.class.getClass()
    6. .getResource("/").getFile().toString()
    7. + "test.xml"));
    8. Element root = document.getRootElement();
    9. Element node = Dom4j.parse(root , "name" , "b");
    10. ...
    11. } catch (Exception e) {
    12. // TODO Auto-generated catch block
    13. e.printStackTrace();
    14. }
    15. }
    16. /*
    17. * 获得X属性结果是X值的整个标签
    18. */
    19. public static Element parse(Element node , String type , String val) {
    20. for (Iterator iter = node.elementIterator(); iter.hasNext();) {
    21. Element element = (Element) iter.next();
    22. Attribute name = element.attribute(type);
    23. if (name != null) {
    24. String value = name.getValue();
    25. if (value != null && val.equals(value))
    26. return element;
    27. else
    28. parse(element , type , val);
    29. }
    30. }
    31. return null;
    32. }

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 MC9S12XS128单片机实验
  • ¥15 失败的github程序安装
  • ¥15 WSL上下载的joern在windows怎么用?
  • ¥15 jetson nano4GB
  • ¥15 电脑回复出厂设置,重装过程报错提示,求解决方案Windows 无法分析或处理无人参与应答文件 [C:\WINDOWS\Panther\unattend.xml,如何解决?
  • ¥15 进入lighttools中的UDOP编辑器的方法
  • ¥15 求Gen6d训练数据集
  • ¥20 liunx中winscp中可以登入ftp,但是不能登入sftp,如何解决
  • ¥15 lighttools的光学属性自定义的用法流程
  • ¥15 uni-app动态修改推荐页内容时报错
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部