晕,这就叫格式转换?
明明是一个排版问题嘛
可以用工具,如xmlspy等帮你做

解决方案 »

  1.   

    如果要用程序实现,可以先写一个trans.xsl:<?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet
         version="1.0"
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>    <xsl:template match="@*|node()">
            <xsl:copy>
                <xsl:apply-templates select="@*|node()"/>
            </xsl:copy>
        </xsl:template>
    </xsl:stylesheet>然后写个转换的java程序import java.io.*;public class Translate {
        public static void main(String[] args) throws javax.xml.transform.TransformerException {
            if (args.length != 3) {
                System.out.println("Usage:");
                System.out.println(" java " + Translate.class.getName() + " inputFilename xsltFilename outputFilename");
                System.exit(1);
            }        File inputFile = new File(args[0]);
            File xsltFile = new File(args[1]);
            File outputFile = new File(args[2]);        javax.xml.transform.Source inputSource = new javax.xml.transform.stream.StreamSource(inputFile);
            javax.xml.transform.Source xsltSource = new javax.xml.transform.stream.StreamSource(xsltFile);
            javax.xml.transform.Result outputSource = new javax.xml.transform.stream.StreamResult(outputFile);        javax.xml.transform.TransformerFactory transFact = javax.xml.transform.TransformerFactory.newInstance();
            javax.xml.transform.Transformer trans = transFact.newTransformer(xsltSource);
            trans.transform(inputSource, outputSource);
        }
    }编译后,用java Translate input.xml trans.xsl output.xml指令就可以实现排版格式化了
    注:input.xml是原xml文件名,output.xml是格式化后的文件名