Belltree 发表于 2001-10-31 15:28 XML学习 ←返回版面
/*
第二个例子,SimpleTransform.java,这个例子是转换的,和上一个例子类似,从创建一个factory实例开始,这里是创建TransformerFactory实例,然后用newTransformer来得到一个Transformer的实例,Transformer的实例再来做实际的事情:转换。
newTransformer()带一个样式单作为参数的话,那么转换的结果就是由样式单决定。
newTransformer()不带任何参数,转换的结果就是源文档。
可以看到这个例子的import部分,没有写import javax.xml.transform.*,为什么呢,其实完全可以这样做的,因为全部列出来有助于大家了解做一个转换需要用到的类。
*/
/*
* 一个简单的作转换的例子,使用一个样式单foo.xsl,将结果转出到foo.out
*
*/
// Import JAXP包中Transform相关的类
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.Source;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
// 异常处理类
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerConfigurationException;
// Imported java.io包相关的类
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class SimpleTransform
{
public static void main(String[] args)
throws TransformerException, TransformerConfigurationException,
FileNotFoundException, IOException
{
// 使用TransformerFactory.newInstance()方法来实例化一个使用TransformerFactory
// javax.xml.transform.TransformerFactory的系统property设置决定实际实例化--
// org.apache.xalan.transformer.TransformerImpl.
TransformerFactory tFactory = TransformerFactory.newInstance();
// 使用 TransformerFactory 来实例化一个 Transformer, 并且指定一个样式单
Transformer transformer = tFactory.newTransformer(new StreamSource("foo.xsl"));
/* 有一个不带任何参数的newTransformer方法,这个方法用来将source拷贝到输出 */
// Transformer transformer = tFactory.newTransformer();
// 使用foo.xsl转换foo.xml,将结果输出到foo.out
Source xmlSource = new StreamSource("foo.xml");
Result outputTarget = new StreamResult(new FileOutputStream("foo.out"));
transformer.transform(xmlSource, outputTarget);
System.out.println("THE END");
}
}
* - 本贴最后修改时间:2001-10-31 15:37:29 修改者:Belltree