首页 / XML / java – 更改com.sun.org.apache.xml.internal.serialize.XMLSerializer&com.sun.org.apache.xml.internal.se
java – 更改com.sun.org.apache.xml.internal.serialize.XMLSerializer&com.sun.org.apache.xml.internal.se
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 更改com.sun.org.apache.xml.internal.serialize.XMLSerializer&com.sun.org.apache.xml.internal.se,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1771字,纯文字阅读大概需要3分钟。
内容图文
在使用java 1.6进行编译时,使用com.sun.org.apache.xml.internal.serialize.XMLSerializer和com.sun.org.apache.xml.internal.serialize.OutputFormat会导致一些错误.
我找到的解决方案是在添加xerces后使用org.apache.xml.serialize.XMLSerializer和org.apache.xml.serialize.OutputFormat.
问题是不推荐使用这些类.如果不触及代码,我可以使用什么来替换它们?
日Thnx
这是我使用的依赖:
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.9.1</version>
</dependency>
解决方法:
我们可以使用org.w3c.dom.ls包中的LSSerializer类
public String toXML(Node source) {
String subscrXML=null;
StringWriter stringWriter=new StringWriter();
try {
//Get the implementations
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
DOMImplementationLS impls = (DOMImplementationLS)registry.getDOMImplementation("LS");
//Prepare the output
LSOutput domOutput = impls.createLSOutput();
domOutput.setEncoding(java.nio.charset.Charset.defaultCharset().name());
domOutput.setCharacterStream(stringWriter);
domOutput.setEncoding(ENCODING);
//Prepare the serializer
LSSerializer domWriter = impls.createLSSerializer();
DOMConfiguration domConfig = domWriter.getDomConfig();
domConfig.setParameter("format-pretty-print", true);
domConfig.setParameter("element-content-whitespace", true);
domWriter.setNewLine("\r\n");
domConfig.setParameter("cdata-sections", Boolean.TRUE);
//And finaly, write
domWriter.write(source, domOutput);
subscrXML = domOutput.getCharacterStream().toString();
DOMStringList dsl=domConfig.getParameterNames();
System.out.println(subscrXML);
/*
// Just for curiosity....
for(int i=0;i<dsl.getLength();i){
System.out.println(dsl.item(i)" = ["domConfig.getParameter(dsl.item(i))"]");
}*/
} catch (Exception e) {
e.printStackTrace();
}
return subscrXML;
}
内容总结
以上是互联网集市为您收集整理的java – 更改com.sun.org.apache.xml.internal.serialize.XMLSerializer&com.sun.org.apache.xml.internal.se全部内容,希望文章能够帮你解决java – 更改com.sun.org.apache.xml.internal.serialize.XMLSerializer&com.sun.org.apache.xml.internal.se所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。