将Xml文件导入java应用程序
我想将一个XML文件导入我的Java应用程序。 这就是功能:将Xml文件导入java应用程序,java,swing,file-io,Java,Swing,File Io,我想将一个XML文件导入我的Java应用程序。 这就是功能: static void lireFichier(String fichier) throws Exception { SAXBuilder sxb = new SAXBuilder(); document = sxb.build(new File(fichier)); racine = document.getRootElement(); } 这就是我所说的 lireFichier("exemple.xml"
static void lireFichier(String fichier) throws Exception
{
SAXBuilder sxb = new SAXBuilder();
document = sxb.build(new File(fichier));
racine = document.getRootElement();
}
这就是我所说的
lireFichier("exemple.xml");
这是Swing应用程序的一部分。我希望用户能够指定要打开的XML文件。如何执行此操作?-很简单,只需将
文件的路径作为字符串传递,即XML
文件所在的位置
例如:
File f=新文件(“d:\\Myfolder\\vivek.xml”)代码>
-您也可以始终使用以下易于使用的API
来解析XML
JAXP&JAXB
CASTOR
-很简单,只需将文件的路径作为字符串传递,您的XML
文件就位于该字符串中
例如:
File f=新文件(“d:\\Myfolder\\vivek.xml”)代码>
-您也可以始终使用以下易于使用的API
来解析XML
JAXP&JAXB
CASTOR
这确实是一个基本概念,只要稍加研究就可以轻松解决
你需要花一些时间通读,尤其是
我还推荐一个关于API的速成课程
JFileChooser fc = new JFileChooser();
fc.setDialogTitle("Open stuff");
fc.addChoosableFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".xml") || f.isDirectory();
}
@Override
public String getDescription() {
return "XML Document (*.xml)";
}
});
switch (fc.showOpenDialog(null)) {
case JFileChooser.APPROVE_OPTION:
File file = fc.getSelectedFile();
lireFichier(file.getPath());
break;
}
这确实是一个基本概念,只要稍加研究就可以轻松解决
你需要花一些时间通读,尤其是
我还推荐一个关于API的速成课程
JFileChooser fc = new JFileChooser();
fc.setDialogTitle("Open stuff");
fc.addChoosableFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".xml") || f.isDirectory();
}
@Override
public String getDescription() {
return "XML Document (*.xml)";
}
});
switch (fc.showOpenDialog(null)) {
case JFileChooser.APPROVE_OPTION:
File file = fc.getSelectedFile();
lireFichier(file.getPath());
break;
}
您是否尝试过类似lireFichier(“/path/to/your/file/example.xml”)?这实际上与Swing、JDOM或xml无关,而与基本文件I&O有关。标记已编辑。否,因为文件名可以更改。事实上,我的应用程序以XML文件为参数,然后显示与该文件关联的动态图!因此,我想导入任何名称的xml文件。如果程序以文件名为参数,则由程序的用户传递适当的文件名(和路径)。为什么要在意呢?然后使用JFileChooser的Swing解决方案,并使用从所选文件获得的完整文件名/路径。您是否尝试过类似lireFichier(“/path/to/your/file/example.xml”)?这实际上与Swing、JDOM或xml无关,都与基本文件I&O有关。标记已编辑。否,因为文件名可以更改。事实上,我的应用程序以XML文件为参数,然后显示与该文件关联的动态图!因此,我想导入任何名称的xml文件。如果程序以文件名为参数,则由程序的用户传递适当的文件名(和路径)。为什么要在意呢?然后使用JFileChooser的Swing解决方案,并使用从所选文件获得的完整文件名/路径。jaxb和castor仅在xml具有预定义结构时才有意义。jaxb和castor仅在xml具有预定义结构时才有意义。并且您希望它是一个小xml文件,因为通常您不希望在EDT上读取/处理文件(不确定lireFichier
方法到底做了什么,但它看起来也像是一些XML解析)是的,我想解析XML文件并提取信息,从XML标记中绘制因果图。因此,XML文件将是我的applicationRad1的输入,而动态garph是我的applicationRad1的输出。请注意,加载和解析XML文件可能是一个耗时的过程。Robin只是提醒我们这样做会阻塞UI事件队列(事件调度线程(EDT)),这会使您的应用程序看起来像它的hungAnd,您希望它是一个小xml文件,因为通常您不希望读取/处理文件(不确定lireFichier
方法到底做了什么,但它看起来也像一些XML解析)在EDTyes上,我想解析XML文件并从XML标记中提取信息以绘制因果图。因此,XML文件将是我的应用程序RAD1的输入,而动态garph是我的应用程序RAD1的输出。请注意,加载和解析XML文件可能是一个耗时的过程。Robin只是提醒我们这样做会阻止UI事件queue(事件调度线程(EDT)),这将使您的应用程序看起来像是挂起的