.C# --XML文档转换为HTML文档
XslTransform xslt = new XslTransform();
xslt.Load(XSL文档路径);
XPathDocument xPath = new XPathDocument(XML文档路径);
XmlTextWriter xmltw = new XmlTextWriter(HTML文档保存路径, Encoding.UTF8);
xmltw.Formatting = Formatting.Indented;
xslt.Transform(xPath, null, xmltw, null);
2.C#--利用oleDB对象,将数据库中全部表转换成XML文件
OleDbConnection dataConn = new OleDbConnection("PROVIDER=SQLOLEDB; Data Source=.; Initial Catalog=pubs;User ID=sa;Password=;");
Uri Path = Request.Url;
String ServerUrl = Path.ToString();
ServerUrl = ServerUrl.Substring(0, ServerUrl.LastIndexOf("/") + 1);
try
{
dataConn.Open();
DataTable schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
for (int i = 0; i < schemaTable.Rows.Count; i++)
{
//schemaTable.Rows[i].ItemArray[2].ToString()取得表名
if (schemaTable.Rows[i].ItemArray[2].ToString().Equals("jobs"))
{
OleDbDataAdapter dbAdapter = new OleDbDataAdapter("select * from [" + schemaTable.Rows[i].ItemArray[2].ToString() + "]", dataConn);
DataSet tableData = new DataSet();
dbAdapter.Fill(tableData, schemaTable.Rows[i].ItemArray[2].ToString());
//保存生成XML文档的路径
tableData.WriteXml(HttpContext.Current.Server.MapPath(schemaTable.Rows[i].ItemArray[2].ToString() + ".xml"));
}
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
dataConn.Close();
}
3.C#--构造XML文档
XmlWriter writer = null;
try
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
writer = XmlWriter.Create("创建XML文档的目录");
//写入注释
writer.WriteComment("sample XML fragment");
//构造根
writer.WriteStartElement("根");
//构造根的属性
writer.WriteAttributeString("xmlns", "bk", null, "urn:samples");
writer.WriteAttributeString("genre", "novel");
writer.WriteAttributeString("title", "Thehandmaid tale");
//构造元素,包含price元素
writer.WriteStartElement("父级为根");
writer.WriteAttributeString("xxx", "xx", null, "urn:xxx");
//构造元素,并赋值,属于"父级为根"的下面元素
writer.WriteElementString("price", "19.95");
//父级为根结束
writer.WriteEndElement();
//取命名空间的前缀
string prefix = writer.LookupPrefix("urn:samples");
//构造元素,赋值,并导命名空间,如<bk:ISBN>aaa</bk:ISBN>,<bk:style>hardcover</bk:style>
writer.WriteElementString("ISBN","urn:samples", "aaa");
writer.WriteElementString("style", "urn:samples", "hardcover");
//根元素结束
writer.WriteEndElement();
writer.Flush();
writer.Close();
}
finally
{
if (writer != null)
writer.Close();
}
4.C#--从一XML文档复制元素到新的XML文档
//元素源
XmlReader reader = XmlReader.Create("studentns.xml");
reader.ReadToFollowing("要复制的元素");
//复制到新XML文档的保存路径
XmlWriter xmlwriter = XmlWriter.Create("newBook.xml");
xmlwriter.WriteNode(reader, true);
xmlwriter.Flush();
5.C#--数据库文件转换为XML文档.
SqlConnection sqlCon = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter sqlDa = new SqlDataAdapter("select * from jobs", sqlCon);
DataSet ds = new DataSet();
sqlDa.Fill(ds, "jobs");
XmlDataDocument xmlDoc = new XmlDataDocument(ds);
XmlWriter xmlwr = XmlWriter.Create("jobs.xml");
//添加版本号
xmlwr.WriteProcessingInstruction("xml", "version="1.0" encoding="GB2312"");
//保存XML流
xmlDoc.Save(xmlwr);
xmlwr.Close();
6.C#--XML数据导入数据库
SqlConnection sqlCon = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter sqlDa = new SqlDataAdapter("select * from aaa", sqlCon);
DataSet ds = new DataSet();
sqlDa.Fill(ds, "aaa");
SqlCommandBuilder sqlCmdBd = new SqlCommandBuilder(sqlDa);
StringReader sr = new StringReader("aaa.xml");
ds.ReadXml(sr);
sqlDa.Update(ds.Tables["aaa"]);
sr.Close();
7.Java--数据库文件生成XML
public static void main(String[] args) {
Connection con = ConDB.Con();
PreparedStatement pst = null;
ResultSet rs = null;
String colName;
try {
pst = con.prepareStatement("SELECT * FROM master");
rs = pst.executeQuery();
Document document = new Document(new Element("根元素")); //创建文档,并设根无素
ResultSetMetaData rsmd = rs.getMetaData(); //获取字段名,返回ResultSetMetaData对像
int numberOfColumns = rsmd.getColumnCount();
while (rs.next()) {
Element element0 = new Element("users"); //创建元素 生成JDOM树
document.getRootElement().addContent(element0);
// Element element2 = new Element("userphone");
// element0.addContent(element2);
for (int i = 1; i <= numberOfColumns; i++) {
try {
// colName = new String(rs.getString(i).getBytes(
// "ISO-8859-1"),
// "gbk"); //代码转换,好像用不着
colName = new String(rs.getString(i));
//构造元素节点和文本节点
Element element = new Element(rsmd.getColumnName(i)).setText(colName);
element0.addContent(element);
} catch (SQLException ex1) {
}
}
}
//org.jdom.output.XMLOutputter
XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat());
try {
//生成XML文件路径
outp.output(document,new FileOutputStream("userinfo.xml"));
} catch (IOException ex2) {
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
8.Java--XML数据导入数据库.
import java.sql.*;
import java.util.*;
import c.ConDB;
import org.xml.sax.*;
import org.w3c.dom.*;
import org.w3c.dom.Node;
import java.io.*;
import org.apache.xerces.parsers.*;
public class XMLInsetDB {
public static void main(String[] args) {
Connection con = ConDB.Con();
PreparedStatement pst = null;
try {
//读入XML文件
BufferedReader br = new BufferedReader(new FileReader("a.xml"));
DOMParser parser = new DOMParser();
parser.parse(new InputSource(br));
//获取Document对像
org.w3c.dom.Document doc = parser.getDocument();
//获取所有节点,返回 Nodelist组
org.w3c.dom.NodeList nl = doc.getElementsByTagName("*");
String s = "";//构建SQL语句的值连接字符串
int b = 0;//控制次数
for (int i = 0; i < nl.getLength(); i++) {
//获取元素节点
Node n = nl.item(i);
//取值判断,连接成SQL语句
if (n.getParentNode().getNodeName().equals("users")) {
if (b <= 3) {
s = s +"'"+ n.getFirstChild().getNodeValue() + "',";
b++;
if (b > 3) {
String str = s.substring(0, s.length() - 1);
System.out.println(str);
pst = con.prepareStatement("INSERT INTO master (主人编号, 主人姓名, 电话, 地址) VALUES ("+str+")");
pst.executeUpdate();
s = "";
b = 0;
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
.Java--jdom对像操作XML
import java.sql.*;
import java.util.*;
import c.ConDB;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;
import java.io.FileInputStream;
public class ReadXml {
public static void main(String[] args) {
Connection con = ConDB.Con();
PreparedStatement pst = null;
FileInputStream fis = null;
FileOutputStream fos = null;
org.jdom.output.XMLOutputter xmlout = null;
try {
fis = new FileInputStream("userinfo.xml");
org.jdom.input.SAXBuilder sb = new SAXBuilder();
org.jdom.Document doc = sb.build(fis);
//查询
org.jdom.Element root = doc.getRootElement();
List list = root.getChildren();
String s = "";
for (int i = 0; i < list.size(); i++) {
Element e = (Element) list.get(i);
s = e.getChild("主人编号").getText() + e.getChild("主人姓名").getText() +
e.getChild("电话").getText() + e.getChild("地址").getText();
System.out.println(s);
}
//删除,元素节点位置
//list.remove(1);
//插入
Element users = new Element("usres");
Element id = new Element("主人编号");
id.setText("3");
users.addContent(id);
Element name = new Element("主人姓名");
name.setText("小陈");
list.add(users);//添加进元素节点组
//修改,先获取所有子元素
List list1 = root.getChildren();
//获取要修改的元素位置,0是第一个
Element upE = (Element)list1.get(0);
//获取元素节点,并赋值
Element eid = upE.getChild("主人编号");
eid.setText("2");
Element ename = upE.getChild("主人姓名");
ename.setText("小赵");
//保存写入流
xmlout = new XMLOutputter(Format.getPrettyFormat());
fos = new FileOutputStream("userinfo.xml");
xmlout.output(doc, fos);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
fis.close();
fos.close();//关闭流
} catch (IOException ex1) {
ex1.printStackTrace();
}
}
}
}