附 代码 有基础的就看得懂
package org.bean.pub;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import skin.UnitAdd_ImportTXDialog;
import skin.UnitAdd_PricingDialog;
import bean.Fxspa;
import bean.Fxspd;
import bean.Fxspe;
import bean.Fxxta;
public class ImportXml {
private String path;
private UnitAdd_ImportTXDialog paneltp;
private UnitAdd_PricingDialog pp;
private List<PriceSystem> speObjs = new ArrayList<PriceSystem>();
public ImportXml(UnitAdd_ImportTXDialog zhi,UnitAdd_PricingDialog pt,String dizhi){
super();
if(dizhi!=null&&pt!=null){
path=dizhi;
pp=pt;
}else{
paneltp=zhi;
path=FileChooser();
}
try {
if(path!=null){
File file = new File(path);
SAXReader reader = new SAXReader();
Document document = reader.read(file);// 读取XML文件
Element root = document.getRootElement();// 得到根节点
PriceSystem ps;
for ( Iterator i = root.elementIterator("CP"); i.hasNext();){
Element foo = (Element)i.next();
ps=new PriceSystem();
ps.setCpid(Integer.valueOf(foo.attributeValue("ID")));
ps.setCplbid(Integer.valueOf(foo.element("CPLB").attributeValue("ID")));
ps.setCplb(foo.elementText("CPLB"));
ps.setCpmc(foo.elementText("CPMC"));
ps.setGg(foo.elementText("GG"));
ps.setGgid(Integer.valueOf(foo.element("GG").attributeValue("ID")));
ps.setDwid(Integer.valueOf(foo.element("DW").attributeValue("ID")));
ps.setDw(foo.elementText("DW"));
ps.setJg(foo.elementText("JG"));
ps.setCpjc(foo.elementText("CPJC"));
speObjs.add(ps);
}
if(dizhi!=null&&pt!=null){
pp.setImportcp(speObjs);
}else{
paneltp.setImportob(speObjs);
}
}
} catch (Exception e) {
// TODO: handle exception
}
}
private String FileChooser(){
JFileChooserDemo jf=new JFileChooserDemo(GenerateXML.path);
jf.setMultiSelectionEnabled(false);
jf.setFileSelectionMode(JFileChooser.FILES_ONLY);
jf.setFileHidingEnabled(true);
jf.setAcceptAllFileFilterUsed(false);
jf.setFileFilter(new FileNameExtensionFilter("Xml文件(*.xml)", "xml"));
int rtvalue=jf.showOpenDialog(null);
if(rtvalue==JFileChooser.APPROVE_OPTION){
return jf.getSelectedFile().getPath();
}else{
return null;
}
}
class JFileChooserDemo extends javax.swing.JFileChooser{
public JFileChooserDemo(String currentDirectoryPath){
super(currentDirectoryPath);
}
@Override
public void approveSelection(){
File file = new File(getSelectedFile(), ".xml");
if(file.exists()){
JOptionPane.showMessageDialog(getParent(), "文件名已被占用");
return;
}else{
super.approveSelection();
}
}
}
}
相关推荐
Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...
### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...
本教程将介绍如何使用Java解析XML文件,并将解析结果导入MySQL数据库。 首先,我们需要引入处理XML的Java库——JAXB(Java Architecture for XML Binding)和DOM(Document Object Model)API。JAXB用于对象与XML...
Java解析XML文件是Java开发中常见的一项任务,XML(eXtensible Markup Language)作为一种结构化数据存储格式,被广泛用于数据交换、配置文件和Web服务等场景。本篇文章将详细探讨Java如何利用DOM4J库来解析XML文件...
Java 实现 XML 解析 Word 文档代码实现 基于给定的文件信息,我们可以总结出以下知识点: 1. Java 实现 XML 解析 Word 文档 Java 可以使用多种方式来解析 Word 文档,包括使用 Apache POI 库、Java2Word 库等。...
本文将深入探讨几种不同的XML解析方法,并通过实际的“Java解析XML性能对比分析Demo”来展示它们的性能差异。我们将讨论DOM、SAX、JDOM、DOM4J和JAXB这五种解析器,以及它们各自的特点和适用场景。 1. DOM(文档...
* 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...
### Java解析XML的四种方式详解 #### 一、DOM(Document Object Model) DOM是一种平台和语言中立的接口,它将XML文档表示为一个树结构,使得程序可以创建、读取、更新或删除树中的元素。DOM实现了W3C的标准,能够...
在Java中,有多种方式可以解析XML文档,主要包括DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)。每种方法都有其优缺点,适用于不同的场景。 1. DOM解析:DOM是将整个...
例如,在数字图书馆或内容管理系统中,XML用于描述文档的元数据,Java解析XML可用于高效地检索和管理这些元数据。 ### 结论 Java解析XML是一项基本而关键的技术,适用于多种场景。开发者应根据实际需求选择合适的...
本篇文章将深入探讨如何在Java中解析XML,以帮助你理解和实践相关知识。 一、DOM解析器 DOM(Document Object Model)解析器是Java中的一种常用方法,它将整个XML文档加载到内存中,形成一个树形结构。以下是一个...
本篇将详细介绍如何使用Java解析XML,将数据存入MongoDB,并返回org.json JSON包。 首先,解析XML通常有两种主要方法:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个XML文档到内存...
在Java编程环境中,XML(可...总的来说,Java解析XML生成JSON对象的能力使得数据在不同平台和应用间无缝交换成为可能。通过学习和使用这样的工具类,开发者可以更高效地处理XML数据,并将其集成到基于JSON的系统中。
Java解析XML的四种经典方法是XML处理中常用的技术,它们分别是DOM、SAX、StAX和JDOM。每种方法都有其独特的特性和适用场景,下面将详细介绍这四种方法。 1. DOM(Document Object Model)解析: DOM是W3C制定的一种...
Java解析XML数据主要涉及到的是对XML文档的读取和处理,SAX(Simple API for XML)解析器是一种基于事件驱动的解析方式,适用于处理大型XML文件。与DOM(Document Object Model)解析器不同,SAX不需要一次性加载...
以下是一个简单的DOM4J解析XML的示例: ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class Dom4jExample { public static void main(String[] args)...
总的来说,“Java解析XML.zip”提供的这两个库为Java开发者提供了强大的XML处理能力,使他们能够在Java应用程序中方便地解析、操作和查询XML数据。通过学习和掌握DOM4J和JAXEN,开发者可以更高效地处理XML任务,提升...
在Java编程环境中,XML...总的来说,Java解析XML的库提供了强大的功能,使开发者能够高效地处理XML数据。dom4j和jdom是其中的两个重要选项,通过它们,你可以轻松地实现XML的读取、创建、修改以及查询等一系列操作。
Java XML解析是处理XML文档的重要技术,XML(Extensible Markup Language)作为一种通用的数据交换格式,广泛应用于各种领域。本主题将深入探讨Java中常用的两种XML解析库:DOM4J和JDOM。 首先,我们来看DOM4J。DOM...