java - 在 JAXBContext 中使用 XML 将 XML 转换为类时出现一些问题

标签 java xml

我正在使用 JAXBContext 将 XML 转换为类。

但是我遇到了一些问题。

1) XML 像这样。

<Baseball namespace="Sport">
<League namespace="MLB">
  <Description>Baseball league of America</Description>
  <Team>
     <Name>Yankees</Name>
     <City>Newyork</City>
  </Team>
  <Team>
     <Name>Dodgers</Name>
     <City>LA</City>
  </Team>
</League>
</Baseball>

2)这样的类。

2-1) 棒球.class

@XmlRootElement(name = "Baseball ", namespace = "Sport")
@XmlAccessorType(XmlAccessType.FIELD)
private class Baseball
{
   @XmlElement(name = "League", namespace = "MLB")
   public League league;
}

2-2) League.class

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
private class League
{
   @XmlElement(name = "Description")
   public String description;

   @XmlElement(name = "Team")
   public Team[] teams;
}

2-3) 团队.class

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
private class Team
{
   @XmlElement(name = "Name")
   public String name;
   @XmlElement(name = "City")
   public String city;
}

棒球和联赛已成功转换为类(class),但球队未转换为类(class)。

描述的值也为空。

这段代码有什么问题?

最佳答案

您的 xml 无效。
元素“Description”由开始标记而不是结束标记终止。
此外,“League”缺少结束标签。

这是您的 xml 的有效版本:

<Baseball namespace="Sport">
<League namespace="MLB">
  <Description>Baseball league of America</Description>
  <Team>
     <Name>Yankees</Name>
     <City>Newyork</City>
  </Team>
  <Team>
     <Name>Dodgers</Name>
     <City>LA</City>
  </Team>
</League>
</Baseball>

关于java - 在 JAXBContext 中使用 XML 将 XML 转换为类时出现一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52812571/

相关文章:

java - JAXB:如何将元素与命名空间绑定(bind)

java - 同时在多个 Java 实例上自动执行 JAVA 内存分析

java - Maven 程序集 : DependencySet or ModuleSet

java - 迭代 Amazon S3 存储桶中的文件夹

java - 无法在 Mongodb 中找到与 java 中的确切日期匹配的文档

java - JPA XML 映射文件可以很好地解析,但在作为 JUnit 测试运行时无法解析

java - 在 Spring Boot 上动态设置 Spring AMQP 和 RabbitMQ 的主机

android - 有没有办法从 Google Play 上的开发者那里获取所有应用程序

添加元素时 Java XML DOM 错误

xml - 将非规范化数据从 excel 导出到 xml