小女子百思不得其解如何将有序的文本转换成xml呢?
解决方案 »
- swt设置button快捷键
- java的一个问题
- 为我的前程迷茫~java 还是.net
- 这个类型的程序怎么会抛出NullPointerException异常
- 本机运行没问题,传到服务器applet总提示noClassDefFoundError???
- 关于StringBuffer和文件输出的问题,请大家帮助
- 乱码
- 一个关于JSP发布的问题?
- javac 多个文件的问题,谢谢?
- 我的理解有没有错,overrriding是参数必须不同,其它的必须相同,而overloading是参数不同外,存取操作符和返回类型可以不同,
- 请问 如何用htmlparser提取html中的文本呢?
- 事件监听类的的写法,你感觉哪种更好?
* 把xml结构的字符串转换成dom对象
* @param str
* @return
*/
public static Document strToDom ( String str )
{
SAXBuilder saxBuilder = new SAXBuilder () ;
Document doc = null ;
try
{
doc = saxBuilder.build ( new java.io.ByteArrayInputStream (
str.getBytes ( "utf-8" ) ) ) ;
}
catch ( java.io.UnsupportedEncodingException ue )
{
return null ;
}
catch ( JDOMException e )
{
return null ;
}
return doc ;
}
import org.jdom.output.* ;
import org.jdom.input.* ;
http://www.netyi.net/in.asp?id=wxs_1128
或者加我的msn [email protected]
[email protected]
[email protected]
谢谢你哟
function saveAs(id) {
var filename = CSDN + "expert/topic/" + Math.floor((parseInt(id)-1)/1000).toString() + "/" + id + ".xml";
var csdnxml = new ActiveXObject("Microsoft.XMLDOM");
var csdnxsl = new ActiveXObject("Microsoft.XMLDOM");
csdnxml.async = false;
csdnxsl.async = false;
try {
csdnxml.load(filename);
if(csdnxml.parseError.errorCode)
{
alert(fileName + "解析错误\n" + csdnxml.parseError.reason);
}
csdnxsl.load(CSDN + "/expert/xsl/100.xsl");
if(csdnxsl.parseError.errorCode)
{
alert("解析错误\n" + csdnxsl.parseError.reason);
}
var html = csdnxml.transformNode(csdnxsl);
}
catch(x)
{
alert("无法保存!!!")
return;
}
var winSave = window.open();
winSave.document.open("text/html","gb2312");
winSave.document.write(html);
winSave.document.execCommand("SaveAs",true,"csdn_" + id + ".htm");
winSave.close();
}
接上……
* 继续注意 所有的节点都添加完成后,需要将嘴上层的Element节点添加到Document中:
docReturn.appendChile(eleRdb);
切记切记。这个地方一定要组织好层的关系。
4 写xml文件如上的添加完成后可以直接写xml文件
FileWriter objOut;try {
objOut = new FileWriter("strInTagPath.xml");
( (XmlDocument) docRoute).write(docReturn, "shift_jis");
objOut.close();
isReturn = true;
} catch (IOException ex) {
}
其中docReturn 为前面3做好的xml Documnet对象,strInTagPath.xml为需要做成的xml文件名,可以添加路径。这样的好处是可以在( (XmlDocument) docRoute).write(objOut , "shift_jis");中定义需要写成的xml的encoding(xml默认的为 utf_8,我在这里改成了Shift_jis)。完成的结果是:
<?xml version="1.0" encoding="Shift_jis"?>
<A 1= "xxxxxx">
<B 1 = "xxxxxx"/>
<B 1 = "xxxxxxx" />
</A>
如上的一堆乱七八糟,不知道对a_thens(睡兰)是否有意思。上面的代码是从哥哥寒数种取出的,所以变量我没有注意,有的出现问题了。自己改一下就好了