Xml解析@Java

134 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情 >>

问题描述:
开发中不难遇到 通过SaopApi进行数据传输的接口,这种接口就需要通过解析Xml结构的进行数据处理。

  • 先了解一下 Xml是个什么东西?

    • XML 被设计用来传输和存储数据;
    • HTML 被设计用来显示数据;
    • XML 指可扩展标记语言(eXtensible Markup Language);
    • 可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。
  • 在很多时候我们都是通过 Xml进行数据传输 ,又有什么好处呢 ?

    • 其实跟json比起来 ,很多人已经把xml给忘记了,觉得是一种古老的做法;
    • 首先一点是 xml数据传输 会使得处理起来更加方便一些;
    • xml传输可以使地数据在不同平台中方便数据进行传输。
  • 在什么时候会用Xml呢 ?

    • 在Java编码中 用到Xml 地时候 当然就是 传输某一对象,当然在一些相关配置中用xml较多;
    • 当然在键值对的时候还是不建议用Xml进行 传输,Json更方便一些。
  • Dom4j是什么?

    • dom4j是一个Java的XML API,是jdom更高一级的替代品,用来读写XML文件的;
    • dom4j可以是开发者解析XMLAPI 以及XML文档更方便 ,更容易上手;
      简单附上 我的一点点核心代码:
      File file = new File("\ss\s.xml")
      将文件通过SAXReader读成Document格式的对象:
      SAXReader reader = new SAXReader();
      Document doc = reader.read(file);
      获取到该dom的root节点: Element root = doc.getRootElement();
      获取对象节点: Element award = foo.element("Award");
      获取对象某一属性值: Element CardNumber = account.elementText("CardNumber");

    简简单单几行代码就将XML格式地文件转换成了我们想要的对象,相对其他的一些还是比较好用.

    附上我这边使用到的maven依赖:

    <dependency>
        <groupId>org.dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>2.1.3</version>
    </dependency>
    

总结:

Dom4j使得我们更加方便对XML数据的操作,还是比较建议在后边的开发过程中进行使用 ,共同交流。

欢迎各界精英进行补充,若有不当,欢迎指教 !

让我们一起迎接明天的一缕缕阳光吧 !
下期间,朋友们 !