标签: unmarshalling

JAXB:如何编组列表中的对象?

也许是一个愚蠢的问题:我有一种List类型<Data>,我想编组成一个XML文件.这是我的班级Database包含ArrayList...

@XmlRootElement
public class Database
{
    List<Data> records = new ArrayList<Data>();

    public List<Data> getRecords()                   { return records; }
    public void       setRecords(List<Data> records) { this.records = records; }
}
Run Code Online (Sandbox Code Playgroud)

......这是班级数据:

// @XmlRootElement
public class Data 
{
    String name;
    String address;

    public String getName()            { return name;      }
    public void   setName(String name) { this.name = name; }

    public String getAddress()               { return address;         }
    public void   setAddress(String address) { this.address = address; }
} …
Run Code Online (Sandbox Code Playgroud)

xml arraylist jaxb unmarshalling

61
推荐指数
3
解决办法
9万
查看次数

javax.xml.bind.UnmarshalException:意外元素.预期要素是(无)

我正在解决这个错误,同时解组一个字符串.我使用JAXB创建了Java文件.

JAXBContext jaxbContext = JAXBContext.newInstance(DocumentType.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
// Input string posted below
DocumentType dType = (DocumentType) unmarshaller.unmarshal(new StringReader("input string"));
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

Exception in thread "main" javax.xml.bind.UnmarshalException: unexpected element (uri:"http://ocrsdk.com/schema/recognizedBusinessCard-1.0.xsd", local:"document"). Expected elements are (none)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:647)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:243)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:238)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:105)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1048)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:483)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:465)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:135)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:602)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3065)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:881)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:203)
    at …
Run Code Online (Sandbox Code Playgroud)

java jaxb unmarshalling

57
推荐指数
2
解决办法
9万
查看次数

Android E/Parcel:解组时找不到类(仅限三星Tab3)

我一直无法解决为什么会出现这种错误,并且只能在运行4.4.2的三星Tab3设备上解决?它发生在我的MainActivity启动另一个Activity时,并在intent中传递一个Parcelable类,如下所示:

    private void debugTest(TestParcel cfgOptions){
        TestParcel cfgOptions = new TestParcel();
        cfgOptions.setValue(15); //just to verify

        Intent intent = new Intent(MainActivity.this, TestActivity.class);
        intent.putExtra("cfgOptions", cfgOptions);
        startActivityForResult(intent, DBG_TEST);
    }
Run Code Online (Sandbox Code Playgroud)

TestActivity获取可分配的数据,如下所示:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test_activity);

    TestParcel cfgOptions = getIntent().getExtras().getParcelable("cfgOptions");
}
Run Code Online (Sandbox Code Playgroud)

TestParcel类:

    import android.os.Parcel;
    import android.os.Parcelable;

    public class TestParcel implements Parcelable {
    private long l_ucs_value = 0;
    private String s_rx_number = "";

    //constructor
    public TestParcel() {
        l_ucs_value = 0;
        s_rx_number = "";
    }

    public void RxNumber(String s) {
        s_rx_number = s;
    }
    public …
Run Code Online (Sandbox Code Playgroud)

android unmarshalling parcel android-intent classnotfoundexception

50
推荐指数
4
解决办法
4万
查看次数

"使用包含ClassLoader作为参数的Parcel.read方法时,解组<myclass>"时出现"BadParcelableException:ClassNotFoundException"

给定一个自定义类org.example.app.MyClass implements Parcelable,我想写List<MyClass>一个包.我做了编组

 List<MyClass> myclassList = ...
 parcel.writeList(myclassList);
Run Code Online (Sandbox Code Playgroud)

每当我试图解散课程时

 List<MyClass> myclassList = new ArrayList<MyClass>();
 parcel.readList(myclassList, null);
Run Code Online (Sandbox Code Playgroud)

有一个"BadParcelableException: ClassNotFoundException when unmarshalling org.example.app.MyClass"例外.

这有什么不对?为什么找不到课程?

android marshalling unmarshalling parcel

49
推荐指数
4
解决办法
3万
查看次数

如何在Parcel的帮助下将Parcelable编组并解组为字节数组?

我想编组和解组一个实现Parcelable/来自字节数组的类.我很清楚Parcelable表示不稳定,因此不适用于实例的长期存储.但我有一个用例,我需要序列化一个对象,如果由于内部Android更改而解组失败,它不是一个showstopper.该类已经在实现该Parcelable接口.

给定一个类MyClass implements Parcelable,我如何(ab)使用Parcelable接口进行编组/解组?

android marshalling unmarshalling parcel parcelable

41
推荐指数
1
解决办法
2万
查看次数

无法将字符串解组为int64类型的Go值

我有结构

type tySurvey struct {
    Id     int64            `json:"id,omitempty"`
    Name   string           `json:"name,omitempty"`
}
Run Code Online (Sandbox Code Playgroud)

json.Marshal在HTML页面中写了JSON字节.jQuery修改name对象中的字段并使用jQueries编码对象JSON.stringify,jQuery将字符串发布到Go处理程序.

id 字段编码为字符串.

发送:{"id":1}收到:{"id":"1"}

问题是json.Unmarshal无法解组JSON,因为id它不再是整数.

json: cannot unmarshal string into Go value of type int64
Run Code Online (Sandbox Code Playgroud)

处理此类数据的最佳方法是什么?我不希望手动转换每个字段.我希望编写紧凑,无错误的代码.

行情也不算太糟糕.JavaScript与int64不兼容.

我想学习使用int64值中的字符串值解组json的简单方法.

jquery json marshalling go unmarshalling

32
推荐指数
2
解决办法
4万
查看次数

JAXB - 忽略元素

有没有办法忽略Jaxb解析中的元素?我有一个大的XML文件,如果我可以忽略其中一个大的复杂元素,那么它可能会更快地解析.

如果甚至根本无法验证元素内容并解析文档的其余部分,即使该元素不正确,也会更好.

例如:这应该只生成Foo.element1和Foo.element2

<foo>
    <element1>I want this</element1>
    <element2>And this</element2>
    <bar>
       <a>ALL of bar should be ignored</a>
       <b>this also should be ignored</b>
       <c>
           <x>a lot of C that take time to process</x>
       </c>
       <c>
            <x>a lot of C that take time to process</x>
       </c>
       <c>
          <x>a lot of C that take time to process</x>
       </c>
      <c>
          <x>a lot of C that take time to process</x>
      </c>
  </bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

java xml jaxb unmarshalling

29
推荐指数
4
解决办法
6万
查看次数

JAXB unmarshaller.unmarshal何时返回JAXBElement <MySchemaObject>或MySchemaObject?

我有两个代码,在两个不同的java项目中,做了几乎相同的事情,(根据xsd文件解组webservice的输入).

但在一种情况下我应该这样写:(输入是一个占位符名称)(元素是OMElement输入)

ClassLoader clInput = input.ObjectFactory.class.getClassLoader();
JAXBContext jc = JAXBContext.newInstance("input", clInput);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Input input = (Input)unmarshaller.unmarshal( element.getXMLStreamReader() );
Run Code Online (Sandbox Code Playgroud)

在另一个lib中,我必须使用JAXBElement.getValue(),因为它是一个返回的JAXBElement,一个简单的(Input)转换只是崩溃:

Input input = (Input)unmarshaller.unmarshal( element.getXMLStreamReader() ).getValue();
Run Code Online (Sandbox Code Playgroud)

你知道是什么导致了这样的差异吗?

java jaxb unmarshalling

27
推荐指数
2
解决办法
3万
查看次数

如何修复Android中偏移YYY的Unmarshalling未知类型代码XXX?

由于Unmarshalling异常,我正在恢复应用程序崩溃.我检查了所有Seri​​alizables都没有参数的构造函数,甚至使用ObjectStream检查了所有可序列化(保存到文件并从文件加载).我如何理解导致异常的parcelable偏移的实际类类型:

Parcel android.os.Parcel@42209460: Unmarshalling unknown type code
 2131165303 at offset 3748
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2080)
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2105)
         at android.app.ActivityThread.access$600(ActivityThread.java:136)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
         at android.os.Handler.dispatchMessage(Handler.java:99)
         at android.os.Looper.loop(Looper.java:137)
         at android.app.ActivityThread.main(ActivityThread.java:4876)
         at java.lang.reflect.Method.invokeNative(Native Method)
         at java.lang.reflect.Method.invoke(Method.java:511)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:804)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:571)
         at com.kdgdev.xtension.core.XtensionMain.main(XtensionMain.java:91)
         at dalvik.system.NativeStart.main(Native Method)
        Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@42209460: Unmarshalling unknown type code 2131165303
 at offset 3748
         at android.os.Parcel.readValue(Parcel.java:2032)
         at android.os.Parcel.readSparseArrayInternal(Parcel.java:2255)
         at android.os.Parcel.readSparseArray(Parcel.java:1687)
         at android.os.Parcel.readValue(Parcel.java:2022)
         at android.os.Parcel.readMapInternal(Parcel.java:2226)
         at android.os.Bundle.unparcel(Bundle.java:223)
         at android.os.Bundle.getSparseParcelableArray(Bundle.java:1232)
        at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1690)
         at android.app.Activity.onRestoreInstanceState(Activity.java:999)
         at com.actionbarsherlock.app.SherlockFragmentActivity.onRestoreInstanceState(Unknown
 Source)
         at name.myname.android.app.ui.MainActivity.onRestoreInstanceState(Unknown
 Source)
         at android.app.Activity.performRestoreInstanceState(Activity.java:971)
         at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1130) …
Run Code Online (Sandbox Code Playgroud)

serialization android marshalling unmarshalling parcelable

27
推荐指数
3
解决办法
3万
查看次数

是否有一个包在malang中输入和输出x-www-form-urlencoding

我想整理进出x-www-form-urlencoding,类似于你如何使用json或xml.是否有现成的软件包可以执行此操作,或者是否有任何文档如何在不存在的情况下自行实现?

urlencode marshalling go unmarshalling

27
推荐指数
3
解决办法
1万
查看次数