封送双列表和类强制转换异常



我想用java写一段代码,封送的结果是这样的:

<pointset>
//defining a point with x, y, and z values
<point>
  <XYZ> 1.0 2.5 4.6> </XYZ>
</point>
<point>
//defining a point with x, y, and z values
  <XYZ> 0.0 3.6 8.6> </XYZ>
</point>
</pointset>

XYZ元素是一个双精度值列表。这可能吗?

注:我使用JAXB

我发现最简单的方法是为XML文件创建XML Schema,然后从Schema生成Java类。

你的模式(myxml.xsd)应该是:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="pointset" type="PointSet" />
  <xsd:complexType name="PointSet" final="extension restriction">
    <xsd:sequence>
      <xsd:element name="point" type="Point" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Point" final="extension restriction">
    <xsd:sequence>
      <xsd:element name="XYZ" type="XYZ" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="XYZ">
    <xsd:list itemType="xsd:double" />
  </xsd:simpleType>
</xsd:schema>

使用Java自带的xjc命令来生成类。

xjc myxml.xsd -p myxml

最新更新