文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-29 07:59

关注

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

解析string类型的xml字符串

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

所需要的包自行导入

 StringBuilder sb = new StringBuilder();        sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");        sb.append("<root>");        sb.append("    <header>");        sb.append("        <mark>" + "this is a mark!"+ "</mark>");        sb.append("    </header>");        sb.append("    <body>");        sb.append("        <data>");        sb.append("             <first>");        sb.append("             <second>" + "来解析我啊!"+ "</second>");        sb.append("             </first>");        sb.append("        </data>");        sb.append("    </body>");        sb.append("</root>"); //开始解析        String str= sb.toString();        Document doc = null;        try {            doc = DocumentHelper.parseText(str);        } catch (DocumentException e) {            e.printStackTrace();        }        Element root = doc.getRootElement();// 指向根节点  <root>        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();        }

运行结果:

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

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

需要用jar包 dom4j-1.6.1.jar

字符串xml如下

<root>    <flw>    <name>aa</name>    <age>22</age>    <instance_info>          <num>1</num>           <code>0</code>          <instance>               <ip>10.1.1.2</ip>               <mask>9999</mask>         </instance>         <instance>               <ip>10.1.1.5</ip>               <mask>717</mask>         </instance>    </instance_info>        <instance_info>          <num>2</num>           <code>33</code>          <instance>               <ip>10.1.1.2</ip>               <mask>9999</mask>         </instance>         <instance>               <ip>10.1.1.9</ip>               <mask>878</mask>         </instance>    </instance_info>   </flw></root>

解析代码

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 = "<root><flw><name>aa</name><age>22</age><instance_info><num>1</num><code>0</code><instance><ip>10.1.1.2</ip><mask>9999</mask></instance><instance><ip>10.1.1.5</ip><mask>717</mask></instance></instance_info><instance_info><num>2</num><code>33</code><instance><ip>10.1.1.2</ip><mask>9999</mask></instance><instance><ip>10.1.1.9</ip><mask>878</mask></instance></instance_info></flw></root>";                 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字符串实例分析”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯