• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: Java
  • 标签:

资源简介

使用java解析XML文件,解析完之后将解析结果导入mysql数据库中

资源截图

代码片段和文件信息

package xml;

import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
import java.sql.*;
public class xmlParse implements FilenameFilter{
Connection connect =null;
Statement stmt =null;
public xmlParse()throws Exception{
Class.forName(“com.mysql.jdbc.Driver“);  //加载驱动程序
//System.out.println(“Success loading Mysql Driver!“);
                                         //建立数据库连接
connect = DriverManager.getConnection( 
“jdbc:mysql://localhost:3306/xmlparse““root““123116“);
 stmt = connect.createStatement();   //获取Statement对象
//System.out.println(“Success connect Mysql server!“);
}
public boolean accept(File dir String filename){
return (filename.endsWith(“newsML.xml“));
}

public void writeToMysql(String []nameString []contentString dirString filenameint wordsamount){
try{

// 处理插入语句格式
String colsName=““value=““;
int n=name.length;
for(int i=0;i {
colsName=colsName+name[i]+““;
value=value+“\‘“+content[i]+“\‘“+““;
}

value+=“\‘“+dir+“\‘\‘“+filename+“\‘“+wordsamount;
colsName+=“dirfilenamewordsamount“;
String str=“INSERT INTO xml(“+colsName+“) values(“+value+“)“;
System.out.println(str);
stmt.executeUpdate(str);  //提交数据更新
}
 catch(Exception e){
System.out.println(e+“Error loading Mysql Driver!“);
}
 
}

public void parse(String dir  String []filenames){
try{
for(int j=0;j File f=new File(dirfilenames[j]);
FileInputStream fin=new FileInputStream(f);  //创建输入流
//获取DOM解析器
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(fin);
//根节点
Element root=document.getDocumentElement();
String rootName=root.getNodeName();
System.out.println(“xml文件根节点的名字:“+rootName);
//子节点
NodeList nodeList=root.getChildNodes();
int size=0;
//统计属性个数
for(int k=0;k Node node=nodeList.item(k);
if(node.getNodeType()==Node.ELEMENT_NODE)
size++;
}
System.out.println(size);  //输出属性个数
String attNames[]=new String [size];  //属性名
String attValues[]=new String[size];  //属性值
int wordsAmount=0;
for(int i=0m=0;i Node node=nodeList.item(i);
if(node.getNodeType()==Node.ELEMENT_NODE){
Element elementNode=(Element)node;
String name=elementNode.getNodeName().trim();
attNames[m]=name.trim();
//对text内容做处理
if(name.equals(“text“)){              //||name.equals(“metadata“)
NodeList nl=elementNode.getChildNodes();
attValues[m]=““;
for(int r=0;r if(nl.item(r).getNodeType()==Node.ELEMENT_NODE)
attValues[m]+=nl.item(r).getTextContent().trim();
}
wordsAmount=attValues[m].spli

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3954  2012-04-03 17:19  xmlParse.java

----------- ---------  ---------- -----  ----

                 3954                    1


评论

共有 条评论

相关资源