精华内容
下载资源
问答
  • java解析xml字符串

    千次阅读 2020-09-16 20:14:36
    import java.io.StringReader; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; public ...
    package com;
    import java.io.StringReader;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    public class Test1 {
    
    	
    	public static void main(String[] args) {
    		Map<String, String> map = new HashMap<String, String>();
    		String xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
    				   "<info><detail><handleDeptId>007</handleDeptId></detail><title>测试工单标题</title><formNo>测试000002</formNo></info>";
    		Test1 test=new Test1();
    		Map resMap=test.parseXml2Map(xml,map);
    		System.out.println("resMap==="+resMap);
    		String resultCode = (String)map.get("formNo");
    		System.out.println("resultCode===="+resultCode);
    		String handleDeptId = (String)map.get("detail.handleDeptId");
    		System.out.println("handleDeptId===="+handleDeptId);
    	}
    	
    	
    	/**
    	 * 将xml转换为Map。 支持xml标签多层嵌套,并以"."分隔多级标签(不包括根节点)。 不支持XML标签重复时的情况
    	 * 
    	 * @param xml
    	 * @param map
    	 * @return
    	 */
    	private Map<String, String> parseXml2Map(String xml, Map<String, String> map) {
    		try {
    			SAXReader reader = new SAXReader();
    			Document doc = reader.read(new StringReader(xml));
    			Element root = doc.getRootElement();
    			String path = "";
    			if (map.containsKey(root.getName().trim())) {
    				path = map.get(root.getName().trim());
    				map.remove(root.getName().trim());
    			}
    			for (Iterator i = root.elementIterator(); i.hasNext();) {
    				Element element = (Element) i.next();
    				if (element.isTextOnly()) {
    					if (path.length() > 0) {
    						map.put(path + element.getName().trim(), element.getTextTrim());
    					} else {
    						map.put(element.getName().trim(), element.getTextTrim());
    					}
    				} else {
    					map.put(element.getName().trim(), path+ element.getName().trim() + ".");
    					parseXml2Map(element.asXML(), map);
    				}
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return map;
    	}
    }
    

    PS:需导入dom4j-1.6.1.jar 包

    展开全文
  • Java解析XML字符串格式

    2020-08-11 11:37:33
    Java解析XML字符串格式代码示例结果展示 代码示例 public static void main(String[] args) { String parseStr = null; String returnMsg = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+ "<Result ...

    Java解析XML字符串格式

    前言

    java解析XML字符串格式使用的是Dom4j这一种方式;

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的。如今可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。

    使用Dom4j是hibernate底层也是通过Dom4j来实现的

    代码示例

    pom.xml中引入dom4j包

    <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>1.6.1</version>
            </dependency>
    

    代码实现

    public static void main(String[] args) {
            String parseStr = null;
            String returnMsg = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
                    "<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">"+
                    "<row resultcount=\"1\">"+
                    "<users_id>1001     </users_id>"+
                    "<users_name>wangwei   </users_name>"+
                    "<users_group>80        </users_group>"+
                    "<users_address>1001号   </users_address>"+
                    "</row>"+
                    "<row resultcount=\"2\">"+
                    "<users_id>1002     </users_id>"+
                    "<users_name>wangwei   </users_name>"+
                    "<users_group>80        </users_group>"+
                    "<users_address>1002号   </users_address>"+
                    "</row>"+
                    "</Result>";
    
            try {
                Document doc = DocumentHelper.parseText(returnMsg);
                Element roots = doc.getRootElement();
                //System.out.println("根节点 = [" + roots.getName() + "]");
                //System.out.println("内容:" + roots.getText());
                parseStr = roots.getText();
                Iterator elements=roots.elementIterator();
                while (elements.hasNext()){
                    Element child= (Element) elements.next();
                    //System.out.println("节点名称 = [" + child.getName() + "]"+"节点内容:"+child.getText());
                    List subElemets=child.elements();
                    //System.out.println(subElemets.size());
                    List<Map<String,Object>> treeMapList = new ArrayList<>();
                   for(int i=0;i<subElemets.size();i++){
                       Map<String,Object> mapData = new HashedMap();
                       Element subChild= (Element) subElemets.get(i);
                       mapData.put(subChild.getName(),subChild.getText());
                       treeMapList.add(mapData);
                       //System.out.println("子节点名称:"+subChild.getName()+";子节点内容:"+subChild.getText());
                   }
                    System.out.println(treeMapList);
                }
            } catch (DocumentException e) {
                e.printStackTrace();
            }
            //System.out.println(parseStr);
           // return parseStr;
        }
    

    结果展示

    在这里插入图片描述

    展开全文
  • ``` <?xml version='1.0' encoding='UTF-8'?> <mark id='321'>this is a mark! ... 来解析 ... 解析 ...用java怎么一次性全部解析,还要有层级关系(包括这几个id也要解析出来)
  • java解析xml字符实例

    2015-07-06 15:17:41
    做项目时写的一个比较有用的解析xml字符串实例,希望能给新手参考一下
  • Java解析xml字符串

    千次阅读 2018-08-31 09:26:02
    https://www.cnblogs.com/macula/archive/2011/07/27/2118003.html
    展开全文
  • /** * Created by admin on 2018/7/16. ...import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class test{ ...
    package com.test;
    
    /**
     * Created by admin on 2018/7/16.
     */
    
    import java.util.Iterator;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    
    
    public class test{
    
        public static void main(String[] args) {
    
      
    
           String xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?>" +
                    "<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">" +
                    "<row resultcount=\"1\">" +
                    "<users_id>1001</users_id>" +
                    "<users_name>wangwei</users_name>" +
                    "<users_group>80</users_group>" +
                    "<users_address>1001号</users_address>" +
                    "</row>" +
                    "<row resultcount=\"1\">" +
                    "<users_id>1002</users_id>" +
                    "<users_name>wangwei</users_name>" +
                    "<users_group>80</users_group>" +
                    "<users_address>1002号</users_address>" +
                    "</row>" +
                    "<row1 resultcount=\"1\">" +
                    "<users_id>1002_1</users_id>" +
                    "<users_name>wangwei_1</users_name>" +
                    "<users_group>80_1</users_group>" +
                    "<users_address>1002号_1</users_address>" +
                    "</row1>" +
                    "</Result>";
    
            Document doc = null;
            try {
                doc = DocumentHelper.parseText(xml); // 将字符串转为XML
                Element rootElt = doc.getRootElement(); // 获取根节点
                System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称
                Iterator iter = rootElt.elementIterator("row"); // 获取根节点下的子节点row
                Iterator iter1 = rootElt.elementIterator("row1");
                // 遍历row节点
                while (iter.hasNext()) {
                    Element recordEle = (Element) iter.next();
                    String users_id = recordEle.elementTextTrim("users_id"); // 拿到row节点下的子节点row值
                    String users_name = recordEle.elementTextTrim("users_name");
                    String users_group = recordEle.elementTextTrim("users_group");
                    String users_address = recordEle.elementTextTrim("users_address");
                    System.out.println("users_id:" + users_id);
                    System.out.println("users_name:" + users_name);
                    System.out.println("users_group:" + users_group);
                    System.out.println("users_address:" + users_address);
                }
    
                // 遍历row1节点
                while (iter1.hasNext()) {
                    Element recordEle = (Element) iter1.next();
                    String users_id = recordEle.elementTextTrim("users_id"); // 拿到row节点下的子节点row值
                    String users_name = recordEle.elementTextTrim("users_name");
                    String users_group = recordEle.elementTextTrim("users_group");
                    String users_address = recordEle.elementTextTrim("users_address");
                    System.out.println("users_id:" + users_id);
                    System.out.println("users_name:" + users_name);
                    System.out.println("users_group:" + users_group);
                    System.out.println("users_address:" + users_address);
                }
    
    
    
            } catch (Exception e) {
    
            }
    
    
        }
    }

     

    展开全文
  • java解析xml字符串(用dom4j)

    千次阅读 2015-06-24 15:26:08
    转载自 ... ...import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentException; imp
  • 本篇文章主要是对通过dom4j解析xml字符串的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
  • java 解析xml报文(字符串)

    万次阅读 多人点赞 2019-09-30 10:19:58
    一:maven: <!--解析xml报文--> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1....
  • import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader;...import java.io.StringReader; import java.util.List; /** * Created by admin on 2018/7/17. */ ...
  • 解析XML文件(字符串)的两种方法,dom4j解析XML时候忽略DTD文件验证
  • 在调用京东万象的短信接口的时候返回的是json格式的字符串,使用的是京东万象的106短信 接口(地址:https://wx.jdcloud.com/market/datas/5/10306) 比较解析xml的两种方式: 1.DOM解析(DOM解析它是一次性将要解析...
  • JAVA 解析Xml字符串

    千次阅读 2017-04-20 20:26:08
    JAVA 解析Xml字符串(dom4j)
  • JAVA解析XML格式字符串

    千次阅读 2016-11-06 23:25:27
    import java.io.IOException; import java.io.StringReader; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.Namespace; im
  • NULL 博文链接:https://suky.iteye.com/blog/621169
  • 下面小编就为大家带来一篇java实现利用String类的简单方法读取xml文件中某个标签中的内容。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • java解析xml,dom解析,jsoup解析,两种不同方式的解析,完整项目
  • dom4j解析xml字符串实例
  • xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map
  • JAVA解析string类型的xml字符串

    千次阅读 2018-12-11 18:00:31
    我先拼接一个xml格式的字符串,模拟获取了这样的数据,然后再解析 所需要的包自行导入 StringBuilder sb = new StringBuilder(); sb.append(&amp;amp;amp;quot;&amp;amp;amp;amp;lt;?xml version=\&...
  • 主要介绍了java 中HttpClient传输xml字符串实例详解的相关资料,需要的朋友可以参考下
  • 主要介绍了Java生成和解析XML格式文件和字符串的实例代码,需要的朋友可以参考下
  • 主要介绍了Java解析调用webservice服务的返回XML串详解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 解析XML字符串,得到各个节点数据

    万次阅读 2016-11-04 11:34:47
    public void readStringXml(String xml) {  Document doc = null;  try {  doc = DocumentHelper.parseText(xml); // 将字符串转为XML  Element
  • 解析XML特殊字符方法

    热门讨论 2011-11-17 21:58:30
    解析XML特殊字符方法有二种 XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符
  • 但是是XML字符串,则在两种浏览器下就会有所不同,IE下可以直接使用LoadXML方法解析XML字符串,而在FF下则要使用DOMParser 对象的parseFromString() 方法即 var oParser=new DOMParser(); xmlDoc=oParser....
  • 实现 XML字符串转VO对象的实现 1.0:标签读取,属性读取,List类型标签实现 以下是 测试说明 原XML: <?xml version="1.0" encoding="UTF-8"?> <HEADER NAME="HEADERname" name_cn="头名称">标签text...
  • xml字符串与map互转

    2018-12-01 16:40:57
    这是一个很好用的工具栏,可以将xml字符串转换成map,或者将Map集合转换为xml字符串
  • <P>map集合转化成xml字符串</P> <P>xml字符串转化成map集合 <P>list集合转化成xml字符串 <P>xml字符串转化成list集合</P>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 147,838
精华内容 59,135
关键字:

java解析xml字符串

java 订阅