0

我得到了一个 XSD 文件来解组从外部 Web 服务返回的 XML。

我能够将收到的 XML 解组到 JAXB 类中。但是由于生成的 JAXB 类结构的深度,我不确定如何在检索值时对代码进行空检查。

检索学生姓名的示例,代码如下 -

jaxbResponse.getStudentDetails().get(0).getStudent().get(0).getName().get(0).getGivenName();

如果我必须对这段代码返回的列表进行检查和索引检查,它会变得非常混乱。

这只是一个示例,我需要使用与上述代码类似的代码来获取大约 50 个参数。我不知道什么时候会得到NullPointerExceptionIndexOutofBoundsException

我是使用 JaxB 类的新手,我需要一些帮助。

提前致谢。

4

1 回答 1

0

您的示例模式看起来像一个从简单生成的列表,<xs:element minOccurs="{something}" maxOccurs="unbounded">在这种情况下,您永远不应该得到一个null列表(尽管如果minOccurs为 0,您可能会得到一个空列表),并且您也不会从null列表中获取值。@XmlElementWrapper如果您有一个或您的架构将元素声明为可空的,您只需要担心空值。

如果没有看到(至少是从中提取)您的架构和/或生成的类,我不能更具体。

于 2012-10-01T07:27:02.770 回答