使用JAXB从xml中的列表中读取k元素使用JAXB
我需要使用JAXB从xml读取k元素,但找不到解决方案。有人有想法吗?我的XML文件是这样的:使用JAXB从xml中的列表中读取k元素使用JAXB
<supplier>
<material>
<materialId>0-MAT-1-LIC</materialId>
<name>Material 1</name>
<quantity>100</quantity>
</material>
<material>
<materialId>1-MAT-1-LIC</materialId>
<name>Material 2</name>
<quantity>123</quantity>
</material>
<material>
<materialId>3-MAT-1-LIC</materialId>
<name>Material 3</name>
<quantity>1343</quantity>
</material>
<material>
<materialId>4-MAT-1-LIC</materialId>
<name>Material 4</name>
<quantity>1323</quantity>
</material>
<material>
<materialId>5-MAT-1-LIC</materialId>
<name>Material 5</name>
<quantity>1234</quantity>
</material>
<material>
<materialId>6-MAT-1-LIC</materialId>
<name>Material 6</name>
<quantity>12</quantity>
</material>
</supplier>
我可以将XML映射到Java对象,但我需要例如仅4元,而不是孔列表。先谢谢你!
如果您已经将xml映射到java对象,则应该有一个List
材质。您可以在该列表上调用.get(index)
。例如。如果你想得到第四个元素,并且列表的对象名称是materialList,代码将如下所示:materialList.get(3);
索引3将为您提供列表中的第四个元素。
但是,如果您只需要使用第4个元素,则不需要将整个xml转换为java对象。你可以使用xpath。给定样本xml的Xpath获取第四个材质将是(/supplier/material)[4]
我不想在java中获得整个列表。我有超过1000个条目进入xml,所以它会效率低下。 – Maria
我完全同意。为此,您可以使用Xpath。更新了答案 –
难道你只是遍历材质对象列表并检索第四个元素?我假设你已经有一个List对象。 –