import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
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 ParseXML {
/**
* 资料导入方法
* @param filePath 资料文件路径
* @return 资料信息
*/
public List<Map<String, String>> infomationImport(String filePath) {
//存储资料集合
List<Map<String, String>> infomationList = new ArrayList<Map<String, String>>();
// 得到DOM解析器的工厂实例
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
DocumentBuilder dombuilder;
try {
// 从DOM工厂获得DOM解析器
dombuilder = domfac.newDocumentBuilder();
// 把要解析的XML文档转化为输入流,以便DOM解析器解析它
InputStream is = new FileInputStream(new File(filePath));
// 解析XML文档的输入流,得到一个Document
Document doc = dombuilder.parse(is);
// 得到XML文档的根节点
Element root = doc.getDocumentElement();
// 得到节点的子节点
NodeList childNode = root.getChildNodes();
if (childNode != null) {
/**
* 轮循子节点
*/
for (int i = 0; i < childNode.getLength(); i++) {
Node nextChildNode = childNode.item(i);
if (nextChildNode.getNodeType() == Node.ELEMENT_NODE) {
for (Node node = nextChildNode.getFirstChild(); null != node ; node = node.getNextSibling()) {
// 判断为子节点
if (node.getNodeType() == Node.ELEMENT_NODE) {
//存储每一行的子节点 的节点名称及节点值
Map<String, String> childNodeMap = new HashMap<String, String>();
if (!"#text".equals(node.getNodeName())) {
childNodeMap.put(node.getNodeName(), node.getFirstChild().getNodeValue());
}
infomationList.add(childNodeMap);
}
}
}
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return infomationList;
}
}
分享到:
相关推荐
在“XML导入导出DEMO”这个项目中,我们主要关注的是如何使用C#来操作XML文件,实现数据表的导入和导出。首先,数据表导出为XML的过程涉及将数据库中的表格数据转换成XML格式的文件。这通常通过读取数据库中的数据,...
`xml导入sql.csproj`是C#项目的解决方案文件,包含了项目的所有元数据和依赖。`.csproj.user`文件则保存了用户的特定设置,如编译器选项和调试信息。`bin`和`obj`目录是编译时生成的,分别存放编译后的程序集和中间...
XML导入SQLServer工具,配置简单,支持大批量导入到SQLServer。
"C#将XML导入到ACCESS数据库" 在本文中,我们将详细介绍如何使用C#将XML文件中的数据导入到ACCESS数据库中。这个过程需要使用OleDbConnection和OleDbCommand两个类来连接ACCESS数据库,并使用XmlDocument类来解析...
这可能是一个单独的工具,或者作为上述XML导入工具的一部分功能。Excel文件常用于存储和处理表格数据,而“XlsToOra”可能提供类似的便捷方式,将Excel数据转换并导入到Oracle数据库中。 总的来说,这些工具为XML和...
这篇博客"xml导入Oracle表的简单方法"将探讨如何将XML文件的数据高效地导入到Oracle数据库中的表。 首先,我们需要准备一个XML文件,其中包含要导入的数据。XML文件的结构应该与目标Oracle表的结构相匹配,即每个...
XML导入涉及到解析XML文档并将其转换为程序可以处理的对象。C#中,我们可以使用`XmlDocument`或`XDocument`类来加载XML文件。例如: ```csharp // 使用XmlDocument XmlDocument xmlDoc = new XmlDocument(); xmlDoc...
PB10XML导入导出接口案例(源码) 在PowerBuilder(PB)开发环境中,XML(eXtensible Markup Language)已经成为数据交换和存储的重要格式。XML文件结构清晰,易于解析,适合跨平台和跨语言的数据传输。本案例主要...
### C#将XML导入到Access数据库 在现代软件开发中,数据处理是一项极其重要的任务,尤其是在需要跨系统或跨格式交换数据的情况下。本篇将详细探讨如何使用C#语言将XML格式的数据导入到Microsoft Access数据库中。这...
《用友NC XML导入文件详解》 在企业管理软件领域,用友NC(U8+或U9)是一款广泛应用的企业资源规划系统,它为企业提供了一整套财务、供应链、生产制造等管理功能。其中,XML(eXtensible Markup Language)文件的...
在进行XML导入Oracle时,通常会遇到以下关键步骤: 1. **数据预处理**:可能需要先使用XML解析器或者XSLT转换将XML数据转换成Oracle能够理解的格式。 2. **创建目标表**:在Oracle中,需要预先创建一个与XML数据...
本文将深入探讨如何在PowerBuilder中使用XML导入DataWindow的源码。这个过程涉及到以下几个关键知识点: 1. **XML解析**:在PB中,你可以使用内置的XML解析器(如XMLDocument对象)来读取和解析XML文件。首先,你...
在这个场景中,我们有一个关于使用C#编程语言将XML数据导入到Access数据库的应用实例。这个过程涉及到C#编程、XML解析以及与Access数据库的交互,这些都是软件开发中常见的技能点。下面我们将深入探讨这些知识点。 ...
本话题将详细讲解如何利用Java技术,特别是JDOM库,来实现在不同的数据库之间导入XML数据,以及如何将数据库中的数据导出到XML文件。同时,我们还会涉及到Ajax技术在前端交互中的应用。 首先,让我们了解XML...
而委托代开XML导入接口规范便是其中的一种解决方案。 委托代开XML导入接口规范是专门针对增值税开票系统而设计的一个数据接口协议。此规范旨在通过XML(Extensible Markup Language,可扩展标记语言)格式的文件来...
### ASP.NET C# 将数据导出到XML,并从XML导入数据 #### 1. 初始化数据集(DataSet) 首先,我们需要创建一个数据集(`DataSet`)来存储从数据库中读取的数据。`DataSet`是ADO.NET中的核心组件之一,它可以看作是...
在Oracle数据库中,XML数据可以被导入到表中以便进行存储和处理。本篇文章将详细介绍两种XML数据导入Oracle表的方法。 方法之一:使用SQL*Loader SQL*Loader是Oracle提供的一款强大的数据加载工具,它可以处理大量...