java如何将String转为Element

sinall 2008-11-13 04:36:01
如何将一个String(比如<A>abc</A>)转换为一个DOM Element。
用Java标准方法,JDOM等对我没有意义。
谢谢。
...全文
2787 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
badlove3 2008-11-14
  • 打赏
  • 举报
回复
帮顶~~~~~~~~~~~。。。。。。。。
lxxzhy 2008-11-14
  • 打赏
  • 举报
回复
我是来看7楼的头像的.
tang3dashu 2008-11-13
  • 打赏
  • 举报
回复
package xml2;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;

/**
* 创建xml文件 可以根据你的javabean创建你的xml文件
*
* @author tangyong
*
*/
public class createxml {

public String createxml(String message, String season) {

// 创建dom4j文档对象
Document document = DocumentHelper.createDocument();
// 使用文档对象创建根节点的xml
Element user_table = document.addElement("user_table");
// 根节点的描述
user_table.addComment("用户信息表");

// 添加属性
Element userid = user_table.addElement("userid");
userid.addAttribute ("type", "String");
userid.addAttribute("length", "32");
userid.addAttribute("isNull", "ture");
userid.setText("xb0001");

// 添加属性
Element name = user_table.addElement("name");
name.addAttribute ("type", "String");
name.addAttribute("length", "32");
name.addAttribute("isNull", "ture");
name.setText("唐勇");


Element password = user_table.addElement("password");
password.addAttribute ("type", "String");
password.addAttribute("length", "32");
password.addAttribute("isNull", "ture");
password.setText("123321");


// 此文档的xml的编码格式
document.setXMLEncoding("GBK");
// document.addDocType("WSData",null,"vbao.dtd");

document.addDocType("catalog",
null,"file://c:/Dtds/catalog.dtd");


// 生产xml
try {
XMLWriter xw = new XMLWriter(new FileWriter(new File(
"C:/TangXML/testXML_1.xml")));
xw.write(document);
xw.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return document.asXML();
}

public static void main(String[] args) {

createxml cxml = new createxml();
String xxx = cxml.createxml("11", "22");

/*File file =new File("c:/tangyong.txt");
try {
FileWriter fw=new FileWriter(file);
fw.write("我爱你们");
fw.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/



System.out.println(xxx.toString());

}

}
shenjie1989 2008-11-13
  • 打赏
  • 举报
回复
import java.io.File;
import java.io.FileOutputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class CreateXMLDocument{

public static void main(String args[]) throws ParserConfigurationException, Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("data");
doc.appendChild(root);
root.setAttribute("type", "abc");


//创建文件
File file = new File("d:/testCreatXml.xml");
if( !file.exists()||!file.isFile()){
new FileOutputStream("d:/testCreatXml.xml");
file = new File("d:/testCreatXml.xml");
}
StreamResult streamResult = new StreamResult(file);
Source inputSource = new DOMSource(doc);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(inputSource, streamResult);


}
}
秦π 2008-11-13
  • 打赏
  • 举报
回复
up
weiyongzhi2005 2008-11-13
  • 打赏
  • 举报
回复
同意3楼的做法,建议楼主试试
我这试过,给你看看,参孝一下吧
package com.niit.xml;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.PrintWriter;

import com.niit.xml.XmlWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.*;


import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ParseStudents {

DocumentBuilderFactory factory;
DocumentBuilder builder;
Document document;



public void addStudent(File file, Student student){
factory = DocumentBuilderFactory.newInstance();
factory.setValidating(true); //有效性检查

try{

builder = factory.newDocumentBuilder();
document = builder.parse(file); //解析文件
Element root = document.getDocumentElement();
Element studentElement = document.createElement("学生");
Element nameElement = document.createElement("姓名");
Element ageElement = document.createElement("年龄");
Element scoreElement = document.createElement("成绩");
Element javaElement = document.createElement("Java");
Element oracleElement = document.createElement("Oracle");
Element xmlElement = document.createElement("Xml");
Element schoolElement = document.createElement("学校");


nameElement.appendChild(document.createTextNode(student.getName()));
ageElement.appendChild(document.createTextNode(String.valueOf(student.getAge())));
javaElement.appendChild(document.createTextNode(String.valueOf(student.getJava())));
oracleElement.appendChild(document.createTextNode(String.valueOf(student.getOracle())));
xmlElement.appendChild(document.createTextNode(String.valueOf(student.getXml())));
schoolElement.appendChild(document.createTextNode(student.getSchool()));

scoreElement.appendChild(javaElement);
scoreElement.appendChild(oracleElement);
scoreElement.appendChild(xmlElement);

studentElement.setAttribute("SID", student.getSid());
studentElement.appendChild(nameElement);
studentElement.appendChild(ageElement);
studentElement.appendChild(scoreElement);
studentElement.appendChild(schoolElement);

root.appendChild(studentElement);

}catch(Exception e){
e.printStackTrace();
}
}
}
tiyuzhongxin789 2008-11-13
  • 打赏
  • 举报
回复
直接转不清楚怎么写
不过可以通过将String先写入文件
再从文件来解析生成Element
badlove3 2008-11-13
  • 打赏
  • 举报
回复
帮顶~!!!!!!!!!!!!!!
luopowusheng 2008-11-13
  • 打赏
  • 举报
回复
直接转不清楚怎么写
不过可以通过将String先写入文件
再从文件来解析生成Element
clin8888 2008-11-13
  • 打赏
  • 举报
回复
没明白什么意思
zhangdehai 2008-11-13
  • 打赏
  • 举报
回复
这样问问题让人不知道怎么和你说你能明白!

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧