我写了一个推特桌面应用,基本上只是让我发布推文和图片......没什么特别的。
我已经完成了所有工作,但最后一部分是持久化配置文件(这是我的应用程序生成的以下XML。
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Twitterer><config id="1"><accessToken>ENDLESS-STRING-OF-CHARACTERS</accessToken><accessTokenSecret>ANOTHER-ENDLESS-STRING-OF-CHARACTERS</accessTokenSecret></config></Twitterer>
我需要做的就是设置accessToken&amp; amp; accessTokenSecret变量。文件名是config.xml。
我一直在网上看很多例子,但似乎无法解决只从文件中获取两个值的问题,这不应该是一个循环。
就我最后一段拼图而言,这就是我所知道的:
try {
File fXmlFile = new File(this.getFileName());
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("config");
int numberOfConfigs = nList.getLength();
// GET THE TWO VARIABLES HERE
} catch (Exception e) {
}
如果有人可以帮助我将这两个标签读入相应的变量,我将非常感激。之后我可以处理剩余的授权。
答案 0 :(得分:2)
我需要做的就是设置accessToken&amp; amp; accessTokenSecret变量
使用getElementsByTagName()
方法的简单代码
Element root = doc.getDocumentElement();
root.getElementsByTagName("accessToken").item(0).getTextContent()
root.getElementsByTagName("accessTokenSecret").item(0).getTextContent()
输出:
ENDLESS-STRING-OF-CHARACTERS
ANOTHER-ENDLESS-STRING-OF-CHARACTERS
或尝试config
标记
Element root = doc.getDocumentElement();
NodeList configNodeList = root.getElementsByTagName("config");
NodeList nodeList = ((Node) configNodeList.item(0)).getChildNodes();
System.out.println(nodeList.item(0).getTextContent());
System.out.println(nodeList.item(1).getTextContent());