0

我试图为 Java 的 JAXB 和 Web 服务做一些示例。在我的代码中,我想显示 XML 文件中的一些客户信息。我正在使用 JAXB 工具来读取/创建 XML,并将值分配给客户对象。当我尝试显示此客户类的值时,我得到空值。实际上,用于读取和显示客户信息的代码正在运行,但是当我在 Web 服务中使用它时,它无法正确显示。顺便说一句,我可以在 Web 服务中正确创建 XML,但是阅读是个问题。这是我的代码:

执行

旧版本 @Override public void displayXML(Customer customer) {

     try {

            File file = new File("C:\\Users\\ahmet.tanakol\\Desktop\\myfile.xml");
            JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);

            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            customer = (Customer) jaxbUnmarshaller.unmarshal(file);
            customer.setAge(customer.getAge());
            customer.setId(customer.getId());
            customer.setName(customer.getName());


          } catch (JAXBException e) {
            e.printStackTrace();
          }

}

新版本(正确的一个)

    public String displayXML() {
    String msg  = "";
     try {

            File file = new File("C:\\Users\\ahmet.tanakol\\Desktop\\myfile.xml");
            JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);

            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            Customer customer = (Customer) jaxbUnmarshaller.unmarshal(file);

            msg +=  "Customer ID: " + customer.getId() + "Customer Age: " + customer.getAge() + "Customer Name: " + customer.getName();


          } catch (JAXBException e) {
            e.printStackTrace();
          }
    return msg;

}

以及我运行程序时的结果

客户 ID:100 客户年龄:29 客户名称:ahmet Hello World JAX-WS ahmet

4

0 回答 0