我有一个非常简单的问题,但我无法解决,希望你能帮助我。
如何使用 JDOM 读取整行 XML 文件?我需要标签和属性,并希望将其保存在一个数组中。我怎样才能做到这一点?
package converter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.swing.JOptionPane;
import au.com.bytecode.opencsv.CSVReader;
import au.com.bytecode.opencsv.CSVWriter;
import org.jdom2.Document;
import org.jdom2.input.*;
import org.jdom2.output.*;
public class Converter {
public List<Entry> xmlconvert(String pfad, String pfad2, String bitmask){
List<Entry> entry = new ArrayList<Entry>();
List<Entry> wrongEntries = new ArrayList<Entry>();
String wrongEntryIndexes = "";
String[] languages = {"en", "pt", "it", "fr", "es", "de", "zh"};
try{
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(pfad);
JOptionPane.showMessageDialog(null, "Converting successful.");
return entry;
如您所见,这只是一个开始>.<
对于 CSV 文件,我是这样做的:
public List<Entry> convert(String pfad, String pfad2, String bitmask) {
List<Entry> entry = new ArrayList<Entry>();
List<Entry> wrongEntries = new ArrayList<Entry>();
String wrongEntryIndexes = "";
String[] languages = {"en", "pt", "it", "fr", "es", "de", "zh"};
try {
CSVReader reader = new CSVReader(new FileReader(pfad), ';', '\"', 1);
String [] nextLine;
while ((nextLine = reader.readNext()) != null) {
Entry entryi = new Entry();
entryi = new Entry();
entryi.termEntryID = nextLine[0];
entryi.termEntryUUID = nextLine[1];
entryi.termID = nextLine[2];
entryi.termUUID = nextLine[3];
entryi.term = nextLine[4];
entryi.status = nextLine[5];
entryi.language = nextLine[6];
entryi.domains = nextLine[7];
entryi.morphosyntacticRestriction = nextLine[8];
entryi.variantsConfiguration = nextLine[9];
entryi.isHeadTerm = nextLine[10];
entryi.checkInflections = nextLine[11];
entryi.frequency = nextLine[12];
entryi.createdBy = nextLine[13];
entryi.createdOn = nextLine[14];
entryi.changedBy = nextLine[15];
entryi.changedOn = nextLine[16];
entryi.context = nextLine[17];
entryi.crossReference = nextLine[18];
entryi.definitionDE = nextLine[19];
entryi.definitionEN = nextLine[20];
entryi.example = nextLine[21];
entryi.externalCrossReference = nextLine[22];
entryi.gender = nextLine[23];
entryi.geographicalUsage = nextLine[24];
entryi.imageURL = nextLine[25];
entryi.note = nextLine[26];
entryi.numerus = nextLine[27];
entryi.partOfSpeech = nextLine[28];
entryi.processStatus = nextLine[29];
entryi.sourceOfDefinition = nextLine[30];
entryi.sourceOfTerm = nextLine[31];
entryi.termType = nextLine[32];
entry.add(entryi);
}
但是对于 CSV 文件,很容易以相同的结构再次编写它。我将所有变量保存在不同的数组中,然后检查它们。