Java 如何将XML转换为HashMap?
我有一个包含以下信息的XML文件:Java 如何将XML转换为HashMap?,java,xml,xstream,Java,Xml,Xstream,我有一个包含以下信息的XML文件: <Datas> <Data type="DL "> <IndexLine> <Field name="TerminalNum" string=""/> </IndexLine> <BusinessLine> <Field name="MachineNum" string=" "/> <Field n
<Datas>
<Data type="DL ">
<IndexLine>
<Field name="TerminalNum" string=""/>
</IndexLine>
<BusinessLine>
<Field name="MachineNum" string=" "/>
<Field name="StuffNum" string=" "/>
<Field name="psw" string=""/>
</BusinessLine>
</Data>
<Data type="PM ">
<IndexLine>
<Field name="TerminalNum" string=""/>
</IndexLine>
<BusinessLine>
<Field name="MachineNum" string=" "/>
<Field name="StuffNum" string=" "/>
<Field name="psw" string=""/>
</BusinessLine>
</Data>
</Datas>
如何将上述XML转换为诸如HashMap之类的映射。关键是属性类型的值,数据是定义节点内容的bean。下面的答案可以给出如何将xml转换为java对象的想法。它可能不会给出精确的解 创建“数据”类、IndexedLine、BusinessLine类 例如: 编写java代码以从xml获取对象
XStream xstream = new XStream();
xstream.alias("data", Data.class);
xstream.alias("indexedLine", IndexedLine.class);
xstream.alias("businessLine", BusinessLine.class);
Data data = (Data)xstream.fromXML(xml);
上面的代码是一个示例代码。可能无法完全工作,您需要做一些修改才能工作。
请在这里找到xstream api和示例:有一些技术可以将xml转换为java对象,并将java对象转换为xml 请看下面的内容
它可能有助于理解如何从xml转换为hashMap您可以使用JAXB将xml转换为Java对象,然后根据需要准备hashMap。我想要的可能是使用fromXml函数直接生成bean对象,就像使用GSON或其他简单工具一样。我可以实现接口转换器来实现这一点吗?
XStream xstream = new XStream();
xstream.alias("data", Data.class);
xstream.alias("indexedLine", IndexedLine.class);
xstream.alias("businessLine", BusinessLine.class);
Data data = (Data)xstream.fromXML(xml);