用于测试XmlAnalyzer 1.00版的八个测试用例

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日--

原文地址:https://www.cnblogs.com/heyang78/p/12964631.html