XmlDocument输出XML文件出现cast exception的解决
来源:互联网 发布:最短路径算法java 编辑:程序博客网 时间:2024/05/01 13:15
最近从网上看到很多介绍XML的文章,输出XML文件时候,示例代码为:
...
//把XML文档输出到指定的文件
FileOutputStream outStream = new FileOutputStream(outFile);
OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
( ( org.apache.crimson.tree.XmlDocument) doc).write(outWriter, "GB2312");
outWriter.close();
outStream.close();
...
很遗憾,这段代码是通过不了的...会出现Class Cast Exception错误!
而作者看来并没有意识到.
经过我的研究,提出了解决的办法.采用Transformer来输出XML文件。完整代码为
public static void callWriteXmlFile(Document doc, Writer w,
String encoding) {
try {
// Prepare the DOM document for writing
Source source = new DOMSource(doc);
// Prepare the output file
Result result = new StreamResult(w);
// Write the DOM document to the file
Transformer xformer = TransformerFactory.newInstance()
.newTransformer();
xformer.setOutputProperty(OutputKeys.ENCODING, encoding);
xformer.transform(source, result);
}
catch (TransformerConfigurationException e) {
e.printStackTrace();
}
catch (TransformerException e) {
e.printStackTrace();
}
}
经过我在winxp,jdk1.4环境下编译通过.要包含的包为:
import javax.xml.parsers.*; //XML解析器接口
import org.w3c.dom.*; //XML的DOM实现
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
对应的,出错的代码应该改正为:
//把XML文档输出到指定的文件
FileOutputStream outStream = new FileOutputStream(outFile);
OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
//出现错误class cast exception
// ( ( org.apache.crimson.tree.XmlDocument) doc).write(outWriter, "GB2312");
//换另外的输出xml方法
callWriteXmlFile(doc, outWriter, "GB2312");
outWriter.close();
outStream.close();
所以,
- XmlDocument输出XML文件出现cast exception的解决
- XmlDocument.Load XML文件时出现“给定的编码字符无效”异常
- 用XmlDocument的处理XML文件
- XML:XMLTextReader和XmlDocument读取XML文件的比较
- XML文件的读取用XmlDocument和XmlReader的比较
- XML文件的读取用XmlDocument和XmlReader的比较
- XML文件的读取用XmlDocument和XmlReader的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- C# XML文件的一些操作(XmlDocument、XmlElement、XmlNode)
- XMLTextReader和XmlDocument读取XML文件的比较(转)
- C# XML文件的一些操作(XmlDocument、XmlElement、XmlNode)
- Dom4J读取XML文件时出现的connection timed out:connect Nested exception异常解决方法
- XMLDocument方式读取XML文件(树结构)
- XML文件内容解析(使用XmlDocument)
- MySQL用戶管理 (2)
- 如果建筑师像程序员一样工作
- 破解和盗版组织大揭密
- summary 速度很慢的问题
- 日本兵在伊拉克的保命绝招(日本机密)
- XmlDocument输出XML文件出现cast exception的解决
- 职业规划:30岁前如何达到年薪10万
- 优化代码,看看哪个执行速度更快!!!
- 教学站教学教务管理系统(esTEAMS)项目开题报告
- 不定义IEnumerable和IEnumrator接口就能使用foreach语句的方法
- 看韩剧有感(娘娘和井上阁下)
- 构架师之路
- SAS中显示宏的实际内容
- 冰冷的城市有着不朽的轮滑-记8。28活动