java代码中不存在的xml标记处理
我有这个问题,它出现在一个非常特殊的案例中。我的XML就像java代码中不存在的xml标记处理,java,xml,Java,Xml,我有这个问题,它出现在一个非常特殊的案例中。我的XML就像 <xo:USAddress> <xo:Street>990 STANLEY CT</xo:Street> <xo:City>ERIE</xo:City> <xo:County>BOULDER</xo:County> <xo:State>COLORADO</xo:State> <xo:Z
<xo:USAddress>
<xo:Street>990 STANLEY CT</xo:Street>
<xo:City>ERIE</xo:City>
<xo:County>BOULDER</xo:County>
<xo:State>COLORADO</xo:State>
<xo:ZipCode>80516</xo:ZipCode>
</xo:USAddress>
在这种情况下,xml中没有县信息——我应该如何处理这种情况。尝试了空检查,但这并不能解决问题,请建议。您确实不会得到空值,因为大多数XML解析器假定为空字符串(在Java中与空值不同)。尝试使用address.getCounty().isEmpty()
来确定county是否只是一个空值
只有当county字段不存在且county值未初始化时,才可能为null。对于这种情况,最好的方法可能是使用Java8可选字段()
如果字段初始化为可选.empty()
,则可以使用简单表达式访问其内容或返回默认值,如下所示:
String county = address.getCounty().orElse("N/A");
这将返回county或值“N/A”。还有很多其他有用的方法。您是否尝试过
如果(usAddress_PAS.getCounty().getStringValue().length()>0){usAddress_Svc.setCounty(usAddress_PAS.getCounty().getStringValue());}
--县值可能是非空的,但是空字符串?谢谢您的回复。这里的问题是,如果县信息不可用,我会得到一个空指针。您可以尝试对县处理进行反向编码,以使用可选的
而不是文本。
String county = address.getCounty().orElse("N/A");