xml

.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();
            }
        }
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值