一个没有格式的xml文件转化成树形结构的xml文件,请问如何实现?谢谢

ERT 2004-04-30 12:02:49
一个没有格式的xml文件转化成树形结构的xml文件,请问如何实现?谢谢
如下:原xml文件为
<Books><Book id="1"><bookName>book1</bookName><bookAuthor>Jon Bentley</bookAuthor></Book></Books>
想转化成:
<Books>
<Book id="1">
<bookName>book1</bookName>
<bookAuthor>Jon Bentley</bookAuthor>
</Book>
</Books>
请问如何转化?
...全文
24 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hewei2003 2004-05-02
倒!
  • 打赏
  • 举报
回复
zcjl 2004-04-30
如果要用程序实现,可以先写一个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是格式化后的文件名
  • 打赏
  • 举报
回复
zcjl 2004-04-30
晕,这就叫格式转换?
明明是一个排版问题嘛
可以用工具,如xmlspy等帮你做
  • 打赏
  • 举报
回复
相关推荐
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2004-04-30 12:02
社区公告
暂无公告