我有一个 XmlParserClass 从看起来像这样的 xml 文件中获取值。
<?xml version="1.0" encoding="utf-8" ?>
<HomePageData>
<LogoTopLeft>//*[@id='corp_logo']</LogoTopLeft>
<SingInLink>//*[@id='login']</SingInLink>
<SingUpLink>//*[@id='signup']</SingUpLink>
</HomePageData>
我的类文件中的方法如下所示:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
XPath xp = XPathFactory.newInstance().newXPath();
try{
String value = xp.evaluate("/LogoTopLeft/text()", doc);
return value;
} catch(XPathExpressionException e)
{
return null;
}
我无法使用此类文件从 xml 文件中获取预期数据。它刚刚到达 try 块,然后到达 catch 以返回“null”。stackoverflow 中的大多数问题都已通过 for 循环收集所有节点来回答,但我需要一次获取一个数据,而不是一次获取所有元素,此外,我需要将此值返回到另一个仅接受的类文件字符串,所以我不能传递 NodeList 或任何其他元素
PS - xml 文件存在于 parsefile 以外的不同位置。我将类路径值“/projName/src/com/core/path/indexPage.xml”存储在一个文件中并传递了它。