XMLConfig: It is a recordlist of RecordXmlConfig. It is basically an hashtable with a set of setting that you can add for specific Records. The record can be the name of the structure/record (in ou previous example "Child") or an hierarchical name ("Master/Child"). The extension, when serializing will look for the hierarchical name from bottom up. If it finds "Master/Child" it will apply those settings, if not, it will look for a "Child" config. If not found, it will use default settings. The settings list should be a list of records of type AttributeXmlConfig and each has the following attributes:
Hope this makes the settings a bit clear. Remember that you can use the extension itself to provide you thise settings filled from an XML:
Ex: Try calling the extension's XmlToRecordList of the following XML and use the result as the input for the DefaultConfig parameter
<DefaultXmlConfig>
<ExcludeIfNull>False</ExcludeIfNull>
<RecordListMode>S</RecordListMode>
</DefaultXmlConfig>
Regarding your question on base64: My suggestion is that you add an attribute of type Text to the structure you wish to export, then use the "BinaryData" extension to fill that attribute with the BinaryDataToBase64 result of your binary, and then just export the structure as usual with the RecordListToXml... Base64 is just binary data encoded as text, so it will be a normal attribute.
cheers,
Gonçalo
<?xml version='1.0' encoding='windows-1252'?>
Hi all,
Is there someone who can help me with the following? I am trying to generate KML files to be opened with Google Earth. I am using the XmlRecords extension to get this done. Hereunder you'll find a "Fraction of the expected output for the KML file". The problem that I have now is that all Placemarks tags are appended to the first Folder instead of distributed over the 2 folders as shown below. Since I am using the ListAppend action while I am iterating to populate the structure and sub-structures (from which the KML file will be generated with the XmlRecords extension), I was wondering if there is a way (in the form of some sort of built-in action or extension) that I can use to go to the next row in the Folder-list and append the Placemarks to the correct Folder? It might be handy to know (a portion of) the hierarchy of the structures that determines the layout of the resulting KML file: <kml> - Main Record <Document> - Record <Folder> - Record List <Placemark> - Record List Attached you'll find an oml-file with the logic in question. Note that the oml-file was created using Service Studio 5.1. You're help will be much appreciated! Regards, Vernon ================================================ Fraction of the expected output for the KML file ================================================ <Folder Id='Legend'> <name>Legend</name> <open>1</open> <Placemark> <name>color:#A1 92.1 dB(A)</name> <open>1</open> <styleUrl>#LegendIcon</styleUrl> <LineString> </LineString> </Placemark> </Folder> <Folder> <name>CPX Segments</name> <Placemark> <name>Segment 1: 92.1 dB(A)</name> <open>1</open> <LineString> <coordinates>52.1,5.1</coordinates> </LineString> </Placemark> </Folder>
Hi!
I have the following XML as the result of an external WebService call:
<WSNAME> <SUBMITSTATUS>Success</SUBMITSTATUS> <TABLE NAME="T1"> <ROWSET> <ROW NAME="N1" VALUE="V1"></ROW> <ROW NAME="N2" VALUE="V2"></ROW> <ROW NAME="N3" VALUE="V3"></ROW> </ROWSET> </TABLE> </WSNAME>
When I try to deserialize the XML to a RecordList everything is fine except for the attributes of the ROW nodes that are empty. If I change the ROW nodes so thet they aren't empty (<ROW NAME="N1" VALUE="V1">.</ROW>) the ROW attributes return values
What I'm doing wrong?
Best Regards, Luís Dias
<?xml version="1.0" encoding="utf-8"?> <xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' xmlns:rs='urn:schemas-microsoft-com:rowset' xmlns:z='#RowsetSchema'> <s:Schema id='RowsetSchema'> <s:ElementType name='row' content='eltOnly' rs:CommandTimeout='30'> <s:AttributeType name='ows_LinkTitle' rs:name='Title' rs:number='2'> <s:datatype dt:type='string' dt:maxLength='512' /> </s:AttributeType> <s:AttributeType name='ows_AnnotationID' rs:name='Annotation ID' rs:number='3'> <s:datatype dt:type='string' dt:maxLength='512' /> </s:AttributeType> <s:AttributeType name='ows_MediaPath' rs:name='Media Path' rs:number='4'> <s:datatype dt:type='string' dt:maxLength='512' /> </s:AttributeType> <s:AttributeType name='ows_TimeCode' rs:name='Time Code' rs:number='5'> <s:datatype dt:type='string' dt:maxLength='512' /> </s:AttributeType> </s:ElementType> </s:Schema> <rs:data> <z:row ows_LinkTitle='my first test item' ows_AnnotationID='b3cd9a8c-e7d1-439e-b910-a94e1d91f406' ows_MediaPath='https://localhost, https://localhost/media1.wmv' ows_TimeCode='00:00:03.1234567' /> </rs:data> </xml>
RecordXmlConfig RecordName: "a" AttributesConfig Name: "e" RecordListMode: "S" /* this will make the "e" attribute behave as a sequence and maybe it should solve your problem */
Greetings,
Can someone with more experience than me take a look at my problem with regard to using Serialization_XmltoRecordsList?"
https://www.outsystems.com/forums/discussion/43544/object-reference-not-set-to-an-instance-of-an-object-xmltorecordlist-error/#Post157210
Please, I've been stuck for a month. I just want to be able to parse my xml data response and be able to call the individual properties, (firstname, lastname, region, address) .
Hi Helios,
Apart from you replying to a > 3 year old topic, you also posted your original question on the general forum, instead of the component's subforum. Also, I already replied 6 days ago, but you never supplied the information I asked for.
Hi all.
I'm trying to show an empty tag in the XML, but I can't seem to make it work. It worked with the default xml config, but I only need it in a specific node. So I'm using the XML and Attribute configs for that specific situation. I made an example so you can see what I'm doing.
Thank you in advance.