- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 xml 文件(作为 byte[]
)绑定(bind)到 java 对象。这是我的代码-
public voidinputConfigXML(String xmlfile, byte[] xmlData) {
IBindingFactory bFact = BindingDirectory.getFactory(GroupsDTO.class);
IUnmarshallingContext uctx = bFact.createUnmarshallingContext();
groups = (GroupsDTO) uctx.unmarshalDocument(new ByteArrayInputStream(xmlData), "UTF8");
}
unmarshalDocument()
给了我这个异常。我该怎么办?
仅供引用:作为 JUnit 测试用例运行
以下是堆栈跟踪 -
Error parsing document (line 1, col 1)
org.xmlpull.v1.XmlPullParserException: only whitespace content allowed before start tag and not \u0 (position: START_DOCUMENT seen \u0... @1:1)
at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1519)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.next(XMLPullReaderFactory.java:291)
at org.jibx.runtime.impl.UnmarshallingContext.toStart(UnmarshallingContext.java:451)
at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2755)
at org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(UnmarshallingContext.java:2905)
at abc.dra.DRAAPI.inputConfigXML(DRAAPI.java:31)
at abc.dra.XMLToObject_Test.test(XMLToObject_Test.java:34)
[...]
这是我形成 byte[]-的代码
void test() {
String xmlfile = "output.xml"
File file = new File(xmlfile);
byte[] xmlData = new byte[(int) file.length()];
groups = dra.inputConfigXML(xmlfile, xmlData);
}
最佳答案
ByteArrayInputstream 为空:
only whitespace content allowed before start tag and not \u0
(position: START_DOCUMENT seen \u0... @1:1)
意味着,\u0 位被发现作为 XML 中的第一个字符。
确保您的 byte[]
中有内容,并且 UTF-8 不以 BOM 开头。
我不认为BOM是你的问题,但我经常遇到关于BOM和java的问题。
更新
您没有填充byte[]
。您必须将文件内容读入byte[]
:读这个:File to byte[] in Java
顺便说一句:byte[] xmlData = new byte[(int) file.length()];
是不好的代码风格,因为您会遇到较大的 XML 文件的问题。如果它们大于 Integer.MAX_VALUE
,您将读取损坏的文件。
关于java - org.xmlpull.v1.XmlPullParserException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10683363/
我正在学习 xml 解析,我想使用 xmlpull.org 的 api。 我是从http://www.xmlpull.org/v1/download/下载的“xmlpull_1_0_5.jar”文件并
我正在测试Xmlpull,我实际上已经在我的计算机上本地解析了xml。现在,我想解析互联网上的一个XML文件,该文件是: http://api.androidhive.info/pizza/?form
我有一个 xml 文件,我显示了它的一小部分,以显示我想要的内容 Getty Images file 2010 Getty Image
本文整理了Java中org.xmlpull.v1.builder.XmlElement类的一些代码示例,展示了XmlElement类的具体用法。这些代码示例主要来源于Github/Stackoverf
本文整理了Java中org.xmlpull.v1.builder.XmlInfosetBuilder类的一些代码示例,展示了XmlInfosetBuilder类的具体用法。这些代码示例主要来源于Git
我正在尝试将 xml 文件(作为 byte[])绑定(bind)到 java 对象。这是我的代码- public voidinputConfigXML(String xmlfile, byte[] x
我了解 SAX 解析器与 XMLPull 解析器的工作方式之间的区别。其实这里有一个很好的解释: http://www.firstobject.com/xml-reader-sax-vs-xml-pu
我是在 android 上使用 KSOAP2 的新手,我遇到了问题 我看过关于同一问题的类似帖子,但没有人帮助我解决错误 我正在尝试连接到返回我登录时使用的用户名的网络服务 (WSDL)。当我在任何浏
将 robolectric 添加到 build.gradle 文件后出现错误 Program type already present: org.xmlpull.v1.XmlPullParserExc
Custom xml file to view 这是上述问题产生的错误 我设法将 XML 文件保存到 Assets 文件夹中并加载(我什至可以浏览解析器的不同部分并从中生成输出)但是当我尝试传递 Xm
本文整理了Java中org.xmlpull.v1.builder.XmlElement.newNamespace()方法的一些代码示例,展示了XmlElement.newNamespace()的具体用
本文整理了Java中org.xmlpull.v1.builder.XmlElement.setParent()方法的一些代码示例,展示了XmlElement.setParent()的具体用法。这些代码
本文整理了Java中org.xmlpull.v1.builder.XmlElement.hasNamespaceDeclarations()方法的一些代码示例,展示了XmlElement.hasNam
本文整理了Java中org.xmlpull.v1.builder.XmlElement.removeAllAttributes()方法的一些代码示例,展示了XmlElement.removeAllAt
本文整理了Java中org.xmlpull.v1.builder.XmlElement.removeChild()方法的一些代码示例,展示了XmlElement.removeChild()的具体用法。
本文整理了Java中org.xmlpull.v1.builder.XmlElement.newElement()方法的一些代码示例,展示了XmlElement.newElement()的具体用法。这些
本文整理了Java中org.xmlpull.v1.builder.XmlElement.requiredElement()方法的一些代码示例,展示了XmlElement.requiredElement
本文整理了Java中org.xmlpull.v1.builder.XmlElement.ensureNamespaceDeclarationsCapacity()方法的一些代码示例,展示了XmlEle
本文整理了Java中org.xmlpull.v1.builder.XmlElement.hasChildren()方法的一些代码示例,展示了XmlElement.hasChildren()的具体用法。
本文整理了Java中org.xmlpull.v1.builder.XmlElement.insertChild()方法的一些代码示例,展示了XmlElement.insertChild()的具体用法。
我是一名优秀的程序员,十分优秀!