千家信息网

Java中string类型的xml字符串实例分析

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇"Java中string类型的xml字符串实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们
千家信息网最后更新 2025年01月18日Java中string类型的xml字符串实例分析

这篇"Java中string类型的xml字符串实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Java中string类型的xml字符串实例分析"文章吧。

解析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");        }}

以上就是关于"Java中string类型的xml字符串实例分析"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0