VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 708|回复: 5

如何在xml中获取一个元素节点的所有内容

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-24 08:20:01 | 显示全部楼层 |阅读模式
我经过定位得到一个节点,这个节点下还有其他的节点,我现在想取出这个节点的xml片段,也就是xml文档里面这个节点的字符串片段,怎么做比较好呢?
回复

使用道具 举报

0

主题

18

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-2-16 19:30:01 | 显示全部楼层
字符串片断?
你用什么xml解析器做呢.
你可以把这个节点的所有东西都解析出来,然后再反向组织成string
回复

使用道具 举报

1

主题

51

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-2-16 23:30:02 | 显示全部楼层
你用的是DOM JDOM SAX 还是DOM4J?
下面是DOM4J的
         try{
          SAXReader reader = new SAXReader();
          Document document = reader.read("Demo.txt");
          Element root = document.getRootElement();
           for ( Iterator node = root.elementIterator(); node.hasNext(); ) {

               //    CompanyBean a=new CompanyBean();

          Element element = (Element) node.next();
          Attribute attribute = (Attribute) element.attribute("value");
          a.setBirthday(element.elementText("birthday"));
          a.setDepartment((String)attribute.getData());
          a.setName(element.elementText("name"));
          a.setSalary(element.elementText("salary"));
          list.add(a);
        }


        }catch(Exception e){System.out.println(e.getMessage());}
回复

使用道具 举报

0

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-6-8 09:45:01 | 显示全部楼层

        /**
         * 读取xml文件
         *
         * @param realPath :
         *            web路径
         */
        public Document procConfig(String realPath) {
                realPath += cfgFile;
                this.file = new File(realPath);
                try {
                        SAXBuilder builder = new SAXBuilder();
                        doc = builder.build(new File(realPath));
                        return doc;
                } catch (Exception e) {
                        System.err.println("Error creating XML parser in UsrConfig.java");
                        e.printStackTrace();
                        return null;
                }
        }

        /**
         * 读取usrcfg.xml中的元素:主机的IP地址,及端口
         *
         * @param doc
         */
        public void setUsrInfo(Document doc, String addr, String port,
                        String usrName, String usrPwd) {
                Element root = doc.getRootElement();
                Element host = root.getChild(UsrDef.TAG_HOST);
                host.setAttribute(UsrDef.ATTR_ADDR, addr);
                host.setAttribute(UsrDef.ATTR_PORT, port);
                Element user = root.getChild(UsrDef.TAG_USER);
                user.setAttribute(UsrDef.ATTR_NAME, usrName);
                user.setAttribute(UsrDef.ATTR_PWD, usrPwd);
                this.saveProperties();
        }/**
         * 读取usrcfg.xml中的元素:用户名,密码,数据库的数据源,数据库用户名及密码。
         *
         * @param doc
         * @throws Exception
         */
        public void parseDBInfo(Document doc, String dbID, String dbUsrName,
                        String dbPwd) {
                Element root = doc.getRootElement();
                List dbList = root.getChildren(UsrDef.TAG_DB);
                // System.out.println(dbList.size());
                for (Iterator iter = dbList.iterator(); iter.hasNext();) {
                        Element db = (Element) iter.next();
                        String Id = db.getAttributeValue(UsrDef.ATTR_ID);
                        if (Id.equals(dbID)) {
                                db.setAttribute(UsrDef.ATTR_USERNAME, dbUsrName);
                                db.setAttribute(UsrDef.ATTR_PWD, dbPwd);
                                saveProperties();
                        }
                        if (Id.equals(dbID)) {
                                db.setAttribute(UsrDef.ATTR_USERNAME, dbUsrName);
                                db.setAttribute(UsrDef.ATTR_PWD, dbPwd);
                                saveProperties();
                        }
                }
        }
回复

使用道具 举报

0

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-6-8 11:00:01 | 显示全部楼层
JDOM解析
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-6-26 16:15:02 | 显示全部楼层
上面写的很好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表