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. Windows下使用命令行编译Qt项目(解决DLL丢失问题)

    一.前言 我之前用Qt做了个hello world,结果各种报错,一大堆DLL找不到,今天用命令行编译就通过了 二.准备工作 1.Visual Studio(有nmake就行) 2.Qt 3.把qma ...

  2. 使用java API进行zip递归压缩文件夹以及解压

    一.概述 在本篇文章中,给大家介绍一下如何将文件进行zip压缩以及如何对zip包解压.所有这些都是使用Java提供的核心库java.util.zip来实现的. 二.压缩文件 首先我们来学习一个简单的例 ...

  3. C#LeetCode刷题之#700-二叉搜索树中的搜索(Search in a Binary Search Tree)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4102 访问. 给定二叉搜索树(BST)的根节点和一个值. 你需要 ...

  4. 实践Kong for Kubernetes(K8S),kong最新2.1版本和kong-ingress-controller:0.9.1版本

    先决条件 Kubernetes集群:您可以使用Minikube或GKE集群.Kong与Kubernetes的所有发行版兼容. kubectl访问权限:您应该已经kubectl安装并配置为与Kubern ...

  5. # 火题小战 A.玩个球

    火题小战 A.玩个球 题目描述 给你 \(n\) 种颜色的球,每个球有 \(k\) 个,把这 \(n\times k\) 个球排成一排,把每一种颜色的最左边出现的球涂成白色(初始球不包含白色),求有多 ...

  6. STL函数库的应用第二弹——快排sort函数与结构体关键字排序

    时隔20多天,本蒟蒻终于记起了他的博客园密码!!! 废话不多说,今天主题:STL快排函数sort()与结构体关键字排序 Part 1:引入和导语 首先,我们需要知道,algorithm库里有一些奇怪的 ...

  7. 记录使用Python登录浙江大学统一身份认证

    背景 现在每天要进行健康情况上报,但是因为经常睡过头忘记打卡,于是想着写一个程序来自动打卡. 统一身份认证 访问健康情况上报页面(https://healthreport.zju.edu.cn/nco ...

  8. SparkStreaming-DStream(Discretized Stream)

    DStream(Discretized Stream)离散流 ◆ 和Spark基于RDD的概念很相似,Spark Streaming使用离散流 (discretized stream)作为抽象表示,叫 ...

  9. Go 切片的一种有趣内存泄漏方式

    今天我在看 Prashant Varanasi 的 Go 发布会演讲:使用火焰图进行生产分析(Analyzing production using Flamegraphs),在演讲开始的第 28 分钟 ...

  10. Flink的应用场景和架构

    Flink的应用场景 Flink项目的理念就是:Flink是为分布式,高性能,随时可用以及准确的流处理应用程序打造的开源流处理框架.自2019年开源以来,迅速成为大数据实时计算领域炙手可热的技术框架. ...