java - 正如我可以在一个类中关联两个不同的文件与 jaxb

标签 java xml jaxb

希望你能帮助我。

目前我在 xml 中收到两个文件格式,我想知道如何使用 jaxb 将这两个文件关联到同一个类.

Company.xml

<?xml version="1.0" encoding="utf-8"?>
</records>
   <record>
      <id>4<id>
      <companyName>B</companyName>
      ......
   </record>
   <record>
      <id>7<id>
      <companyName>B</companyName>
        ......
   </record>
</records>

Employees.xml

<?xml version="1.0" encoding="utf-8"?>
<records>         
     <record>
        <EmployeeName>AA</EmployeeName>
        <CompanyID>2</CompanyID>
     </record>
     <record>
        <EmployeeName>AB</EmployeeName>
        <CompanyID>2</CompanyID>
     </record>
 </records>

我想知道如何生成与这些字段 id 公司相关的类

   public class Companys{
          private List<Company> list;
   }

   public class Company{
       private String companyName;
       private Integer id;
       .........
       //I need use JaxB --reference ID company
       private List<Employees> list; 
   }


   public class Employee{
        private String Name;
        private Integer idCompany;
        .......................
   }

最佳答案

您可以使用 map 。

public class Companies{
    private Map<Integer, Company> map = new HashMap<>();

    void put(Integer id, Company company) {
        map.put(id, company);
    }

    Company get(Integer id) {
        return map.get(id);
    }
}   

获得员工列表后,您可以迭代它们并将其应用到公司 map 上。

Company company = companies.get(employee.getIdCompany());
company.addEmployee(employee);

或者,您可以在公司内部创建一个名为 addEmployee 的方法

void addEmployee(Employee employee) {
    companies.get(employee.getIdCompany()).addEmployee(employee);
}

关于java - 正如我可以在一个类中关联两个不同的文件与 jaxb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42213282/

相关文章:

java - 自动展开 Eclipse 插件 jar

java - Android - fragment findViewById() 始终为空?

javascript - 循环后返回 XML 值

java - 读取文件时出现 MalformedURL 异常

java - 在构造函数中使用 JAXB

java - Spring,多个Hibernate Sessionfactories配置

Java进程CPU使用率增加

java - 使用 cxf 客户端发送 BASIC 身份验证凭据

java - jaxb2-maven-plugin:无法从 WSDL 生成源

java - XJC 目录不会替换架构导入的本地路径