【发布时间】:2021-08-30 14:51:04
【问题描述】:
@Autowired
private MyRepository myRepo; //Inject your repo in service
@Override
public void parseSnFile(String fileName) {
//...
for (int temp = 0; temp < list.getLength(); temp++) {
Node node = list.item(temp);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
String id = element.getElementsByTagName("uid").item(0).getTextContent();
String lastName = element.getElementsByTagName("lastName").item(0).getTextContent();
String snType = element.getElementsByTagName("snType").item(0).getTextContent();
String programList = element.getElementsByTagName("program").item(0).getTextContent();
MyEntity entity = new MyEntity(id, lastName, snType, program); //serealize your data into entity
myRepo.save(entity) //saving to database
System.out.println(id + " " + lastName + " snType " + snType + " programList " + programList);
此代码有效,但我有一个问题。在XML文件中,与lastName相关的部分字段为空,即为空值。当我尝试跑步时,我有一个NullPointerException。如何设置条件以使项目不会崩溃,但 null 值只是一个空格并且数据被进一步写入...
【问题讨论】:
-
此代码有效,但我有一个问题。在 XML 文件中,一些与 lastName 相关的字段是空的,即它们有一个空值。当我尝试运行时,我有一个 NullPointerException。如何设置条件以使项目不会崩溃,但 null 值只是一个空格并且数据被进一步写入......
-
也许应该是这样的:
-
您可以Edit您的问题并添加所有详细信息。
-
字符串姓氏 = ?; if(lastName != null) { lastName = element.getElementsByTagName("lastName").item(0).getTextContent(); }
-
您的 XML 看起来如何?我打赌你可以用 JAXB 映射它,而不必自己解析它