没有在 xml 文件中返回正确的值?
Not returning correct value in xml file?
我正在尝试从我正在处理的项目的 XML 文件中获取值,但我似乎无法获取它...
这是 XML 文件:
我试过使用
public static String getString(File file, String element) {
try {
File fXmlFile = file;
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName(element);
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
return eElement.getElementsByTagName("author").item(0).getTextContent();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return "Error";
}
使用此方法访问它
File mapdata = new File(HeroVsVilliansCore.getPlugin().getDataFolder(), File.separator + "Maps" + File.separator);
File f = new File(mapdata, "Test.xml");
但它 returns "Error" 而不是 "author" 的值?
尝试使用 getDocumentElement 而不是第一个 getElementsByTagName(顺便说一句,element
的值是多少 - 应该是 "map"):
return doc.getDocumentElement ()
.getElementsByTagName("author")
.item(0).getTextContent();
或者拆分成几个语句并检查元素的大小确实非零。
我正在尝试从我正在处理的项目的 XML 文件中获取值,但我似乎无法获取它...
这是 XML 文件:
我试过使用
public static String getString(File file, String element) {
try {
File fXmlFile = file;
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName(element);
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
return eElement.getElementsByTagName("author").item(0).getTextContent();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return "Error";
}
使用此方法访问它
File mapdata = new File(HeroVsVilliansCore.getPlugin().getDataFolder(), File.separator + "Maps" + File.separator);
File f = new File(mapdata, "Test.xml");
但它 returns "Error" 而不是 "author" 的值?
尝试使用 getDocumentElement 而不是第一个 getElementsByTagName(顺便说一句,element
的值是多少 - 应该是 "map"):
return doc.getDocumentElement ()
.getElementsByTagName("author")
.item(0).getTextContent();
或者拆分成几个语句并检查元素的大小确实非零。