XmlAnalyzer 工程目的:将XML的属性和子节点按字母序排列,然后整形输出:

08.

原文=<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.heyang</groupId>  <artifactId>XmlAnalyzer</artifactId>  <version>1.00</version>    <dependencies>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-classic</artifactId>            <version>1.1.11</version>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-core</artifactId>            <version>1.1.11</version>        </dependency>                <dependency>            <groupId>commons-lang</groupId>            <artifactId>commons-lang</artifactId>            <version>2.6</version>        </dependency>    </dependencies></project>
整形后文本:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<artifactId>XmlAnalyzer</artifactId>
<dependencies>
<dependency>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
<version>1.1.11</version>
</dependency>
<dependency>
<artifactId>logback-core</artifactId>
<groupId>ch.qos.logback</groupId>
<version>1.1.11</version>
</dependency>
<dependency>
<artifactId>commons-lang</artifactId>
<groupId>commons-lang</groupId>
<version>2.6</version>
</dependency>
</dependencies>
<groupId>com.heyang</groupId>
<modelVersion>4.0.0</modelVersion>
<version>1.00</version>
</project>

07.

原文=<产品列表>    <产品 编号="M09123" 名称="保暖大衣" 品牌="A" 价格="1688" 产地="上海" 材质="羊毛">        <颜色>黑色</颜色>    </产品>    <产品 编号="M09124" 名称="女式大衣" 品牌="B" 价格="899" 产地="江苏">        <颜色>黑色</颜色>        <颜色>红色</颜色>        <颜色>蓝色</颜色>    </产品>    <产品 编号="M09126" 名称="男式毛衣" 品牌="C" 价格="838" 产地="浙江">        <颜色>绿色</颜色>        <颜色>黄色</颜色>        <颜色>黑色</颜色>    </产品></产品列表>
整形后文本:
<产品列表>
<产品 产地="上海" 价格="1688" 名称="保暖大衣" 品牌="A" 材质="羊毛" 编号="M09123">
<颜色>黑色</颜色>
</产品>
<产品 产地="江苏" 价格="899" 名称="女式大衣" 品牌="B" 编号="M09124">
<颜色>黑色</颜色>
<颜色>红色</颜色>
<颜色>蓝色</颜色>
</产品>
<产品 产地="浙江" 价格="838" 名称="男式毛衣" 品牌="C" 编号="M09126">
<颜色>绿色</颜色>
<颜色>黄色</颜色>
<颜色>黑色</颜色>
</产品>
</产品列表>

06.

原文=<products count="1">    <product id="001" name="iphone20">cellphone</product>    <product id="002" name="iphone22"/></products>
整形后文本:
<products count="1">
<product id="001" name="iphone20">cellphone</product>
<product id="002" name="iphone22"/>
</products>

05.

原文=<products count="1">    <product id="001" name="iphone20">cellphone</product></products>
整形后文本:
<products count="1">
<product id="001" name="iphone20">cellphone</product>
</products>

04.

原文=<products>    <product>cellphone</product></products>
整形后文本:
<products>
<product>cellphone</product>
</products>

03.

原文=<product  编号="M09123" 名称="保暖大衣" 品牌="A" 价格="1688" 产地="上海" 材质="羊毛">cellphone    <count>0</count>    <total>123</total></product>
整形后文本:
<product 产地="上海" 价格="1688" 名称="保暖大衣" 品牌="A" 材质="羊毛" 编号="M09123">cellphone
<count>0</count>
<total>123</total>
</product>

02.

原文=<product />
整形后文本:
<product/>

01.

原文=<product  编号="M09123" 名称="保暖大衣" 品牌="A" 价格="1688" 产地="上海" 材质="羊毛">cellphone</product>
整形后文本:
<product 产地="上海" 价格="1688" 名称="保暖大衣" 品牌="A" 材质="羊毛" 编号="M09123">cellphone</product>

整体确认无误,学了BNF后解析嵌套文本是越来越轻松了. :)

--2020年5月26日--

用于测试XmlAnalyzer 1.00版的八个测试用例的更多相关文章

  1. 用于测试 JsonAnalyzer2 1.01版的测试用例

    14. 原文={"animal":"ca,t","color":"ora:nge","isMale" ...

  2. 声笔码7.00版现已进入Beta测试阶段

    声笔码7.00版现已进入Beta测试阶段,有兴趣的朋友可以试试,欢迎多提宝贵意见. 由于论坛附件限制了1M的大小所以无法上传,需要的朋友可加入声笔系列码群(QQ群号:445906697),到共享文件夹 ...

  3. VMware配置回环地址用于测试

           我们在开发过程中,很可能需要一台服务器用于测试,在这种环境下,我们很可能需要用到vmware来构建这样的开发环境.但如果当前处在一个离线,或是不在网内的环境下,我们所搭建的环境有可能无法 ...

  4. Fundebug前端JavaScript插件更新至1.6.0,新增test()方法用于测试

    摘要: 1.6.0新增fundebug.test()方法用于测试,请大家及时更新. 默认情况下,Fundebug 插件能够自动捕获未处理的错误(uncaught error).另外,开发者也可以通过使 ...

  5. 【Cocos2d-Js实战教学(1)横版摇杆八方向移动】

    本教程主要通过搭建一个横版摇杆八方向移动的实例,让大家如何用Cocos2dx-Js来做一款游戏,从基础了解Cocos2dx-Js的基本实现原理,从创建工程,到各个知识点的梳理. 教程分为上下两讲: 上 ...

  6. linux 创建虚拟块设备,制作文件系统并挂载,用于测试lustre

    1.制作块文件 3 个 [root@localhost yaoxu]# [root@localhost yaoxu]# [root@localhost yaoxu]# 2.创建回环设备 [root@l ...

  7. 【AMAD】splinter -- 用于测试web app的python框架

    简介 动机 作用 用法 热度分析 个人评分 简介 Splinter1是一个开源工具,使用Python编写,用于测试web apps.它可以用来对浏览器实现自动化操作,比如访问URLs,和按钮等交互. ...

  8. (转)用C#实现实现简单的 Ping 的功能,用于测试网络是否已经连通

    本文转载自:http://blog.csdn.net/xiamin/archive/2009/02/14/3889696.aspx 用C#实现实现简单的 Ping 的功能,用于测试网络是否已经联通 1 ...

  9. 用于测试SqlAnalyzer1.00的十七个测试用例

    SqlAnalyzer功能:解析SQL语句,具体到字段,表和条件,并将其整理后输出格式化文本. 1. 原文=select a from b 整理后文本= select a from b 2. 原文=s ...

随机推荐

  1. Vue 大量data及rules的data选项结构组织

    如果Vue文件需要很多的data成员及表单验证,建议使用类似结构 export default{ data(){ const model = { username: 'suzhen', passwor ...

  2. golang 的 string包

    前言 不做文字搬运工,多做思路整理 就是为了能速览标准库,只整理我自己看过的...... 注意!!!!!!!!!! 单词都是连着的,我是为了看着方便.理解方便才分开的 1.string 中文文档 [英 ...

  3. 不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序

    一般我们写好了应用程序想要部署发布它,要么发布到物理机,要么发布到虚拟机,要么发布到容器来运行它.现在有了Azure应用服务,我们可以完全不用管这些东西,只管写好自己的代码,然后使用VisualStu ...

  4. AS 新电脑clone项目报错:Clone failed: Authentication failed for 'https://gitee.com/XXX/Demo.git/'

    在新的电脑上安装Android Studio,并且使用git clone 项目,报以下错误: Clone failed: Authentication failed for 'https://gite ...

  5. 在不影响程序使用的情况下添加shellcode

    参考 在文章Backdooring PE Files with Shellcode中介绍了一种在正常程序中注入shellcode的方式,让程序以前的逻辑照常能够正常运行,下面复现一下并解决几个小问题. ...

  6. centos7 编译安装 redis-6.0.5

    安装redis sudo yum install redis centos自带的redis才3.2 太旧了所以使用源码编译 需要先安装gcc新版才能编译 centos7 默认的 gcc 版本为:4.8 ...

  7. Linux用户和组密令大全

    本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数. 1.建用户: adduser phpq                             passwd phpq       ...

  8. Linux下安装mysql时报错:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper

    如题,安装mysql过程中,执行scripts/mysql_install_db --user=mysql命令时报错: FATAL ERROR: please install the followin ...

  9. 面试28k职位,老乡面试官从HashCode到HashMap给我讲了一下午!「回家赶忙整理出1.6万字的面试材料」

    作者:小傅哥 博客:https://bugstack.cn 目录 一.前言 二.HashCode为什么使用31作为乘数 1. 固定乘积31在这用到了 2. 来自stackoverflow的回答 3. ...

  10. 软工团队项目之团队展示&选题(OnTime——S.L.N)

    软工团队项目之团队展示&选题(OnTime——S.L.N) 一.团队展示 队名:『S.L.N』即Seigelion——乃“攻城狮”之意. 队员学号: 团队项目描述:(项目名称:OnTime) ...