【XML】将String格式的XML文件转化成JAVA实体类
来源:互联网 发布:课时优化八上英语答案 编辑:程序博客网 时间:2024/05/17 05:06
1.问题:
如何将String类型的XML转化成JAVA实体类?
2.源代码:
public class TestXML { @SuppressWarnings("unchecked") public static void main(String[] args) { String xmlStr="<object>\n" + " <int name=\"start\">1</int>\n" + " <string name=\"order\">receiveDate</string>\n" + " <int name=\"desc\">1</int>\n" + " <int name=\"fid\">1</int>\n" + " <int name=\"norefreshSid\">0</int>\n" + " <int name=\"total\">20</int>\n" + " <string name=\"sessionEnable\">0</string>\n" + "</object>"; System.out.println(xmlStr); /*JAXBContext应用入口,用于xml和java的绑定*/ JAXBContext context=null; try { context=JAXBContext.newInstance(Objectz.class); /*Unmarshaller接口,将xml反序列化为java对象*/ Unmarshaller unmarshaller= context.createUnmarshaller(); System.out.println(unmarshaller); StringReader stringReader=new StringReader(xmlStr); System.out.println(stringReader); System.out.println("unmarshaller:"+unmarshaller.unmarshal(stringReader)); Objectz objectz=(Objectz)unmarshaller.unmarshal(stringReader); System.out.println(objectz); } catch (JAXBException e) { e.printStackTrace(); } }}
3.截图:
4.总结:
这里说,不需要元素,但是却获得了本地却获得了object;请问怎么解决这个异常?
附:报错代码:
javax.xml.bind.UnmarshalException: 意外的元素 (uri:"", local:"object")。所需元素为(none) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:726) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:247) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:242) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:109) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1131) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:556) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:538) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:153) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:380) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:614) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3135) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214) at com.fxrj.email.test.TestXML.main(TestXML.java:42) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
阅读全文
0 0
- 【XML】将String格式的XML文件转化成JAVA实体类
- 如何将org.w3c.dom.Element xml节点对象转化成XML格式的string字符串
- 将具有特殊格式的文件转化为xml文件
- 将XML文件转化为JSON格式的文件
- JAVA 将xml Schema 文档转化成 XML文件
- JQuery 将json 转化成xml 格式的数组
- Dom to String(将xml文件转化为String)
- JAVA将list转化为xml文件
- java把string.xml转化成excel文件
- java工具---将txt文件转成xml格式的文件
- JAVA字符串格式化-String.format()的使用 及 Android 中 string.xml 中 字符串格式转化
- 将String格式XML转换成JSON
- 将XML文件转化成NSData对象
- 【FCL】将实体类序列化为xml,Json等格式
- xml格式报文的拼装,和解析成实体类
- java用xstream实现xml与实体的互相转化
- SQL将查询的结果转化为XML格式数据
- 将对象转化为XML格式的字符串
- ubuntu 安装中文输入法
- 纳税服务系统【投诉受理管理,显示投诉信息、处理回复、我要投诉】
- JZOJ 5185. 【NOIP2017提高组模拟6.30】tty's sequence
- Spring 架构篇——使用 Spring Boot Actuator 监控端点
- springcloud(第八篇)springcloud feign
- 【XML】将String格式的XML文件转化成JAVA实体类
- 算法笔记--排列组合
- HDU 2071 Max Num
- 二分搜索—— 完全二叉树统计节点个数
- LeetCode 563 Binary Tree Tilt(递归 + 中间结果保存)
- PythonTip 50道题目(部分题解)
- nefuoj1206-dp-环形子段和
- Java Integer的缓存问题
- 网址收藏