gpt4 book ai didi

java - 如何将 XML 文件中的值放入 java 中另一个类的数组列表中?

转载 作者:行者123 更新时间:2023-12-01 13:30:24 25 4
gpt4 key购买 nike

我正在读取 XML 文件,并尝试使用 Java 返回另一个类中的值。在 XML Reader 中,我从 XML 文件中读取值。我不太确定该怎么做。任何帮助将不胜感激。

public class XMLReader {

public static List<String> load()
{

try{

DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("C:/adapters.xml"));
doc.normalize();

NodeList rootNodes = doc.getElementsByTagName("adapters");
Node rootNode = rootNodes.item(0);
Element rootElement = (Element) rootNode;
NodeList adaptersList = rootElement.getElementsByTagName("class");

for(int i=0; i<adaptersList.getLength(); i++){
Node theAdapter = adaptersList.item(i);
Element adpElement = (Element) theAdapter;

System.out.println("This is: " + adpElement.getTextContent());
}

}catch(ParserConfigurationException e){
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return null;
}
}


public class AdapterLoader {

public static List<AbstractAdapter> loadAllAdapters()
{
List<AbstractAdapter> allAdapters = new ArrayList<AbstractAdapter>();

List<String> adapterClasses = XMLReader.load();

for (String className : adapterClasses)
{
try {
Class adapters = Class.forName(className);
AbstractAdapter adp = (AbstractAdapter) adapters.newInstance();
allAdapters.add(adp);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

return allAdapters;
}
}

最佳答案

而不是将其打印到控制台

System.out.println("This is: " + adpElement.getTextContent());

将其添加到列表中并返回该列表,而不是

return null;

关于java - 如何将 XML 文件中的值放入 java 中另一个类的数组列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21602069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com