学无先后,达者为师

网站首页 java综合 正文

Java全面解析string类型的xml字符串_java

作者:猿来就是你1   更新时间: 2022-05-02 java综合

解析string类型的xml字符串

我先拼接一个xml格式的字符串,模拟获取了这样的数据,然后再解析

所需要的包自行导入

	 StringBuilder sb = new StringBuilder();
        sb.append("");
        sb.append("");
        sb.append("    
"); sb.append(" " + "this is a mark!"+ ""); sb.append("
"); sb.append(" "); sb.append(" "); sb.append(" "); sb.append(" " + "来解析我啊!"+ ""); sb.append(" "); sb.append(" "); sb.append(" "); sb.append("
"); //开始解析 String str= sb.toString(); Document doc = null; try { doc = DocumentHelper.parseText(str); } catch (DocumentException e) { e.printStackTrace(); } Element root = doc.getRootElement();// 指向根节点 try { Element mark=root.element("header").element("mark"); Element second=root.element("body").element("data").element("first").element("second"); //获取xml的节点内容 System.out.println(mark.getTextTrim()); System.out.println(second.getTextTrim()); }catch(Exception e){ e.printStackTrace(); }

运行结果:

解析String类型t复杂xml,多级节点,最好的例子

需要用jar包 dom4j-1.6.1.jar

字符串xml如下


    
    aa
    22
    
          1
           0
          
               10.1.1.2
               9999
         
         
               10.1.1.5
               717
         
    
    
    
          2
           33
          
               10.1.1.2
               9999
         
         
               10.1.1.9
               878
         
    
   

解析代码

import java.io.ByteArrayInputStream;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
public class XMLParser {
       public static void main(String[] args) {
            String xml = "aa221010.1.1.2999910.1.1.571723310.1.1.2999910.1.1.9878";
     
            long start = System.currentTimeMillis();
     
            SAXReader reader = new SAXReader();
            try {
                org.dom4j.Document doc = reader.read(new ByteArrayInputStream(xml
                        .getBytes("UTF-8")));
                org.dom4j.Element root = doc.getRootElement();
                org.dom4j.Element element;
                org.dom4j.Element element2;
                org.dom4j.Element element3;
                for (Iterator i = root.elementIterator("flw"); i.hasNext();) {
                    element = (org.dom4j.Element) i.next();
                    System.out
                            .println("name:[" + element.elementText("name") + "]");
                    System.out.println("age:[" + element.elementText("age") + "]");
                    for (Iterator j = element.elementIterator("instance_info"); j
                            .hasNext();) {
                        element2 = (org.dom4j.Element) j.next();
                        System.out.println("\tnum:[" + element2.elementText("num")
                                + "]");
                        System.out.println("\tcode:["
                                + element2.elementText("code") + "]");
                        for (Iterator k = element2.elementIterator("instance"); k
                                .hasNext();) {
                            element3 = (org.dom4j.Element) k.next();
                            System.out.println("\t\tip:["
                                    + element3.elementText("ip") + "]");
                            System.out.println("\t\tmask:["
                                    + element3.elementText("mask") + "]");
                        }
                    }
                }
            } catch (DocumentException e) {
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            long end = System.currentTimeMillis();
            System.out.println("耗时:" + (end - start) + "ms");
        }
}

原文链接:https://blog.csdn.net/qq_33532644/article/details/84959272

栏目分类
最近更新