在此处输入代码
我要反序列化此 XML:
<rows profile="color">
<head>
<columns>
<column width="0" align="left" type="ro" sort="str" color=""><![CDATA[#]]></column>
<column width="80" align="left" type="ro" sort="str" color=""><![CDATA[Targa]]></column>
<column width="100" align="left" type="ro" sort="str" color=""><![CDATA[Telaio]]></column>
<column width="150" align="left" type="ro" sort="str" color=""><![CDATA[Tipo]]></column>
<column width="70" align="left" type="ro" sort="str" color=""><![CDATA[Archivio]]></column>
<column width="220" align="left" type="co" sort="str" color=""><![CDATA[Commenti]]><option value="A">A</option><option value="B">B</option><option value="C">C</option></column>
<column width="180" align="left" type="ed" sort="str" color=""><![CDATA[Destinatario]]></column>
</columns>
</head>
<row>
<cell><![CDATA[775]]></cell>
<cell><![CDATA[AA000AA]]></cell>
<cell><![CDATA[RTGGSHHJSJSNN]]></cell>
<cell><![CDATA[CDP]]></cell>
<cell><![CDATA[18]]></cell>
<cell><![CDATA[...]]></cell>
<cell><![CDATA[Â ]]></cell>
</row>
</rows>
但是我没有定义类,我该怎么做呢?我会使用 xstream 库,但我不知道如何使用它。
编辑:
但是如果我想创建一个目标类,我该如何创建呢?我应该有这样的东西:
public class Rows {
private Head head;
private Row[] row;
}
public class Head {
private Columns columns;
}
public class Columns {
private Column column; // How can I get attributes?
}
public class Row {
private String [] cell;
}
之后如何使用 xstream?
最佳答案
看看 JAXB。 ( http://jaxb.java.net/ )
这是一个很棒的库,用于从类中读取/写入 XML。 我知道有一些插件。 我几乎可以肯定您可以从 XML 文件生成/创建类或从带注释的类创建 XML。
一些例子: http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.6/tutorial/doc/JAXBUsing3.html
Hello World :http://jaxb.java.net/tutorial/section_1_3-Hello-World.html
关于Java 解析器 XML 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8657247/