Giter VIP home page Giter VIP logo

xmlutil's Introduction

XML - Util

简单封装 Apache dom4j(1.6.1), 封装后将使用面向对象的思维读写 XML 文件
关于 dom4j 的使用就不做过多介绍.

将XML-Util导入到项目中

  • 下载项目到本地
  • 解压后, 将文件夹/release下的/xml-util-x.x-SNAPSHOT.jar拷贝并build到项目中
  • 源码位于文件夹/release下的xmlUtil-src-x.x.jar

版本

  • v1.1 new
    新增功能:
    • 使用XMLParser创建新节点
    // XMLObject XMLParser.createNode(String tagName, String content, Map<String, String> attrs)
    XMLObject newNode = XMLParser.createNode(tagName, content, attrs);
    • 将新创建的节点插入到现有结构中

      • 添加到指定节点内部
        • 插入到指定节点内部第一个子节点的位置, 已存在的节点将依次向后移动
        // boolean XMLObject.insertBefore(XMLObject parentNode)
        boolean success = newNode.insertBefore(targetParentNode);
        • 插入到指定节点内部最后一个子节点的位置
        // boolean XMLObject.insertAfter(XMLObject parentNode)
        boolean success = newNode.insertAfter(targetParentNode);
      • 添加到指定节点外部
        • 追加到标记节点之前
        // boolean XMLObject.appendBefore(XMLObject markerNode, boolean sameLevel)  
        // markerNode必须与newNode是同名节点(推荐)  
        boolean success = newNode.appendBefore(markerNode, true);  
        // markerNode可以是任意节点    
        boolean success = newNode.appendBefore(markerNode, false);  
        • 追加到标记节点之后
        // boolean XMLObject.appendAfter(XMLObject markerNode, boolean sameLevel)  
        // markerNode必须与newNode是同名节点(推荐)  
        boolean success = newNode.appendBefore(markerNode, true);  
        // markerNode可以是任意节点  
        boolean success = newNode.appendBefore(markerNode, false);  
    • 导出XML文件

      // boolean XMLParser.transferRoot(XMLObject root, File outputFile, boolean compact) throws IOException
      // 导出缩进排版的文件
      String path = XMLParserTest2.class.getResource("/").getPath() + "xml-transfer2-retract.xml";
      boolean success = xmlParser.transferRoot(root, new File(path), false);
      
      // 导出紧凑格排版的文件
      path = XMLParserTest2.class.getResource("/").getPath() + "xml-test-transfer2-compact.xml";
      success = xmlParser.transferRoot(root, new File(path), true);
  • v1.0
    实现最基本的XML读取操作

如何使用

  • 获取XMLParser对象
    • 获取.xml文件的绝对路径
    // 这里以`XMLParserTest`为例
    String xmlPath = XMLParserTest.class.getResource("/xml-test-2.xml").getFile();
    • 获取XMLParser对象. 一个XMLParser对象即代表一份被解析的.xml文件
    XMLParser xmlParser = new XMLParser(xmlPath);
  • 读取节点内容
    • 解析.xml文件, 获取XMLObject对象
    XMLObject root = xmlParser.parse();
    • 操作XMLObject实例对象来读取文件中的内容
      使用XMLObject实例对象可以获取标签名, 属性列表, 子标签实例, 等等...(API 详情请在/doc/index.html中查阅)

maven依赖

<!-- v1.1 -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>

<!-- v1.0 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>
<dependency>
    <groupId>dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>1.6.1</version>
</dependency>
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>12.0</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.0</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.1</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.6</version>
</dependency>

xmlutil's People

Contributors

git8023 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.