猿问

感觉使用dom4j把信息封装成Document对象比较麻烦,还有有什么其他办法吗?

最近在做一个项目需要从数据库取得信息然后转换成符合dtd要求的xml格式的数据,大家有什么好的方法没有?因为dtd文件比较大有1000多行吧,感觉使用dom4j把信息封装成Document对象比较麻烦,有没有更好的方法呢?

慕姐4208626
浏览 149回答 1
1回答

慕沐林林

   把数据行转换为数据符号的实际解析过程也就是执行getStringArray(String read,String delim)或者parseFixedLengthMessage(String read,int[ ] colLen)方法的过程。其返回值是一个String型数组,这个数组是上述两个方法把给定输入进行分解而得来的。如果数据格式不对,就会抛出一个例外并且终止解析过错。调用setSkipError(true)方法就可以忽略例外并完成数据解析过程。调用这个方法可以防止抛出例外,但它仍允许程序向错误输出流打印错误信息。   当行被解析成标记后,它们作为XML文档的元素而加入到XML文档之中。放入到元素之中的每一行记录都有一个默认的名字line,你也可以调用setDataLineName()来指定名字。每一个数据记录都是一个列元素,列元素的名字由相应的类构造函数提供,子元素加到行元素之中。   在输入数据完全读取之后,你就得到了一个有效的XML文档,你可以进一步处理这个文档。现在,由于数据是按众所周知的树状结构来组织的,因此处理它非常简单。例如,你可以把这个文档送交给第三方,只要第三方知道该文档的文档类型定义(Document Type Definition ,DTD),那么他就可以很容易的处理文档了。你还可以调用writeDocument(Document doc,OutputStream osOut)方法来保存这个文档。代码清单D就给出一个把XML文档保存到一个文件中的例子。   用XSLT转换来查看数据   你还可以把XML数据转换成其它格式,并用不同的视图来表示其内容。最简单的方法就是使用XSLT转换,它提供了一种强大的面向树的转换语言实现,可以把使用一种词汇表的XML实例转换成简单文本、HTML或者使用其它词汇表的XML。     对给定的XML输入,你可以用XSLT语言来创建你所期望的输出。例如,通过执行transformData(InputStream xmlIn,InputStream xslIn,OutputStream transfOut),你就可以把XML数据转换成一个HTML文档。代码清单E提供了XSLT转换的一个例子,而清单F给出了地址簿条目的HTML视图。   简化对数据的管理   在本文中,我们通过分析PlainTextToXmlFormatter类而学会了如何把常用格式数据转换成XML文档。我们还看到了如何借助于XSLT转换而用不同的视图来表示XML文档。当你需要处理各种格式的数据时,采纳上述技术或许就就是一个好的解决方案,从而节省了你的宝贵时间并减少了出错的可能性。  
随时随地看视频慕课网APP
我要回答