我想用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