`
- 浏览:
122600 次
- 性别:
- 来自:
广州
-
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
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;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
public class Append {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("MyXml.xml");
doc.normalize();
Element root=doc.getDocumentElement();
acessDB(doc,root);
if(doc!=null)
printNode(root);
TransformerFactory tf=TransformerFactory.newInstance();
Transformer transformer=tf.newTransformer();
DOMSource source=new DOMSource(doc);
StreamResult result=new StreamResult(new File("MyXml.xml"));
transformer.transform(source, result);
}
public static void acessDB(Document doc,Element root) throws Exception{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1/xml?useUnicode=true&characterEncoding=utf-8";
Connection conn=DriverManager.getConnection(url, "", "");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from users");
createXML(doc,root,rs);
}
public static void createXML(Document doc,Element root,ResultSet rs) throws Exception{
boolean flag=rs.next();
while(flag){
Element Users=doc.createElement("Users");
Element userid=doc.createElement("userid");
Text userid_text=doc.createTextNode(""+rs.getInt("userid"));
userid.appendChild(userid_text);
Element username=doc.createElement("usrrname");
Text username_text=doc.createTextNode(rs.getString("username"));
username.appendChild(userid_text);
Element password=doc.createElement("password");
Text password_text=doc.createTextNode(rs.getString("password"));
password.appendChild(password_text);
Users.appendChild(userid);
Users.appendChild(username);
Users.appendChild(password);
root.appendChild(Users);
flag=rs.next();
}
}
public static void printNode(Element element){
NodeList children=element.getChildNodes();
NamedNodeMap attr=element.getAttributes();
int r=children.getLength();
if(attr!=null){
System.out.print("<"+element.getNodeName());
for(int j=0;j<attr.getLength();j++){
System.out.print(" "+attr.item(j).getNodeName()+"="+attr.item(j).getNodeName()+" ");
}
System.out.println(">");
}else if(attr==null){
System.out.println("<"+element.getNodeName()+">");
}
if(element.hasChildNodes()){
for(int k=0;k<r;k++){
if(children.item(k).getNodeType()==Node.ELEMENT_NODE)
printNode((Element)children.item(k));
else if(children.item(k).getNodeType()==Node.TEXT_NODE){
System.out.println(children.item(k).getNodeValue());
}
}
System.out.println("</"+element.getNodeName()+">");
}
}
}需要注意的是:导入mysql-connect-java.jar包,
新建的 xml文件在项目的根目录下,
需要包含一个标签和头文件
如:<?xml version="1.0" encoding="UTF-8" standalone="no"? ><b></b> 否则会有如下异常:[Fatal Error] *.xml:1:1: Premature end of file.
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
XML文档可以被存储在关系型数据库(RDBMS)中,通过映射XML Schema到数据库Schema来实现数据的存储和查询。这种方法称为基于表格的映射,它将XML文档分解为关系模型的表格。另一种方法是关系-对象映射,用于将XML...
实验的目的在于让参与者熟悉XML的基本概念,理解关系数据库管理系统(RDBMS)与XML之间的映射原理,并掌握如何通过编程(Java)从数据库中获取数据并生成XML文件。 实验要求参与者编写Java程序,这表明实验涉及Java...
SQL Server是微软公司开发的一种关系数据库管理系统(RDBMS),它提供了对XML数据的强大支持,使其可以将数据存储为XML格式,或者从XML格式中读取数据。随着互联网应用的日益普及,大量的XML数据涌现,给数据存储和...
- 将XML文档导入到SQL Server 2000数据库中,这一过程包括读取XML文档,然后通过SQL语句更新数据库,并且可利用XML映射文件来辅助数据导入。 4. SQL Server 2000中的FOR XML子句: 在SQL Server 2000中,可以使用...
XML(Extensible Markup Language)和JDBC(Java Database Connectivity)是两种在IT行业中广泛使用的技术,它们分别在数据存储和数据库交互方面发挥着关键作用。本文将深入探讨XML的特性和用途,以及JDBC的工作原理...
它与Oracle的RDBMS紧密集成,支持XML数据类型的存储和检索,并提供XML DB Repository来管理XML数据。而.NET中的XML处理则更加灵活,可以利用XML技术栈来设计对象-关系数据的XML表示和交互方式。 在具体实现对象-...
2. OLEDB:OLEDB(Object Linking and Embedding, Database)是微软推出的一种数据访问接口,允许应用程序通过统一的方式访问多种数据源,包括关系数据库、XML文件等。相对于ODBC,OLEDB提供了更底层的访问,可以更...
- **关系数据库中的XML支持**:许多传统RDBMS如Oracle、SQL Server提供了对XML的存储和查询支持,如XML类型字段和XPath查询。 在学习“XML高级编程”时,你将掌握如何有效地利用XML进行数据建模、创建和验证XML...
特别是在处理半结构化数据方面,关系数据库管理系统(RDBMS)面临许多挑战。半结构化数据描述语言如XML(可扩展标记语言)具有描述数据内容以及其结构特征的能力,使之成为新一代Web数据描述与交换的标准。数据库研究...
MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它以高效、稳定和易于管理而闻名。基于Web的MySQL数据库管理系统则是将MySQL的功能与Web技术相结合,让用户可以通过Web浏览器进行数据库的管理和操作,...
《基于DTD的XML与SQL查询...综上所述,这篇论文深入研究了基于DTD的XML查询到SQL查询的转换算法,旨在提高数据处理效率,促进XML和RDBMS的协同工作,为XML数据在关系数据库中的高效管理和查询提供了有效的解决方案。
生成动态XML是从数据库中提取数据并转化为XML文档的过程。这通常涉及到服务器端技术,如Java Servlets、Enterprise JavaBeans (EJB)、JDBC和RDBMS。Servlet接收请求,调用EJB来查询数据库,EJB使用JDBC检索数据,...
HTML是一种广泛用于创建网页的标记语言,而Access则是一款由微软开发的关系型数据库管理系统(RDBMS)。在网页设计中,如果我们需要将HTML与Access数据库相结合,实现动态数据的展示和交互,通常会借助JavaScript这...
XML数据库专门设计用于存储和检索XML数据,而传统的RDBMS(关系型数据库管理系统)如SQL Server则提供了XML数据类型和查询XML数据的函数。 通过《XML编程从入门到精通》的学习,你将能够熟练地创建、解析和操作XML...
通过这个项目,初学者不仅可以学习XML的语法和使用,还可以了解如何将XML数据与VS2005中的.NET框架相结合,实现数据的读取、写入和查询。同时,也能了解到如何在不使用传统RDBMS的情况下,利用XML进行数据存储和管理...
3. **数据导出**:导出数据可能涉及将数据转换成标准格式,如CSV(逗号分隔值)、XML或直接导入到其他数据库系统如MySQL、SQL Server等。这通常需要特定的工具或编程接口,比如ODBC(Open Database Connectivity)或...
3. **数据解析**:在接收端,服务器使用解析器读取XML文档,将订单数据提取出来并存入ACCESS数据库。解析器可以是DOM(Document Object Model)或SAX(Simple API for XML)等。 4. **数据验证**:XML Schema或DTD...
非关系型数据库(NoSQL,Not Only SQL)是一种在现代大数据和云计算场景中广泛应用的数据存储方式,它与传统的关系型数据库(RDBMS)有着显著的区别。NoSQL数据库设计的目标是为了处理大规模数据分布式、易扩展性和...
1. **数据存储**:Access数据库是关系型数据库管理系统(RDBMS),使用表格来存储数据,并通过表间的关系进行数据组织。每个表由一系列字段组成,每个字段有特定的数据类型。 2. **对象组成**:Access数据库包含多个...