gpt4 book ai didi

java - JDom 空指针异常

转载 作者:行者123 更新时间:2023-12-01 12:34:20 27 4
gpt4 key购买 nike

我正在尝试读取 XML

我的 XML 文件是

 <datasource caption='Benfords' inline='true' name='oracle.41859.392947812499' version='8.2'>
<connection authentication='RDBMS' class='oracle' port='1531' **server**='honeyWillServer' service ="de06" username='IIUSER'>
<relation name='TableauSQL' type='text'>
</Connection>
</datasource>

我的源代码:

public class XMLReader {
public static void main(String[] args) {
try {
SAXBuilder builder = new SAXBuilder();
File xmlFile = new File("C:\\Users\\c200433\\Desktop\\RBM - Law.twb"); // XML file
Document doc = (Document) builder.build(xmlFile);
Element rootNode = doc.getRootElement();
Element staff = rootNode.getChild("datasource");
Element staff1 = rootNode.getChild("connection");
staff1.getAttribute("server").setValue("aventador.am.lilly.com:1530/tst806");
System.out.println("File updated!");
}
catch (Exception e) {
e.printStackTrace();
}
}
}

任务很简单,我想钻取 xml 并使用 setValue 将服务器(在连接节点中)替换为所需的值。
我收到 java.lang.NullPointerException。

最佳答案

首先,

您的 XML 格式不正确:

<connection> </Connection> --? capital 'C' in end tag

<relation name='TableauSQL' type='text'> -- 关系的结束标记在哪里?

修复这些问题后尝试以下操作,

Element staff1 = staff.getChild("connection"); // Connection is the child of datasource.

而不是:

Element staff1 = rootNode.getChild("connection");

关于java - JDom 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25703288/

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