一个没有格式的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>
请问如何转化?
...全文
81 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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等帮你做

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧