Jsonix Any Element Property
HTML
<script src="https://rawgithub.com/highsource/jsonix/master/dist/Jsonix-all.js"></script>
<h1>Unmarshalling</h1>
<h2>Original XML</h2>
<pre id="unmarshalled"></pre>
<h2>test</h2>
JavaScript
$('#originalXML').text(11111);
var MyModule = {
name: 'MyModule',
typeInfos: [{
type: 'classInfo',
localName: 'AnyElementType',
propertyInfos: [{
type: 'anyElement',
name: 'any',
collection: true
}]
}, {
type: 'classInfo',
localName: 'ValueType',
propertyInfos: [{
type: 'value',
typeInfo: 'Double',
name: 'data'
}]
}],
elementInfos: [{
elementName: 'root',
typeInfo: 'MyModule.AnyElementType'
}, {
elementName: 'string',
typeInfo: 'String'
}, {
elementName: 'value',
typeInfo: 'MyModule.ValueType'
}]
};
$('#originalXML').text(11111);
var context = new Jsonix.Context([MyModule]);
var unmarshaller = context.createUnmarshaller();
var unmarshalled = unmarshaller.unmarshalString('<root><string>one</string><value>2</value>three<node>4</node></root>');
console.log(unmarshalled);
var marshaller = context.createMarshaller();
var marshalled = marshaller.marshalString({
name: {
localPart: 'root'
},
value: {
any: [{
name: {
localPart: 'string'
},
value: 'one'
}, {
name: {
localPart: 'value'
},
value: {
data: 2,
TYPE_NAME: 'MyModule.ValueType'
}
},
'three',
// <node>4</node> as a DOM element
Jsonix.DOM.parse('<node>4</node>').documentElement]
}
});
console.log(marshalled);