{"title":"JSON to XML","nodeType":"Manipulator","id":"*AB2v7bC0nru1GHKf","factoryName":"org.knime.json.node.toxml.JSONToXMLNodeFactory","factoryId":"org.knime.json.node.toxml.JSONToXMLNodeFactory","path":["Structured Data","JSON"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>Converts JSON values to XML documents.</p>\n            \n            <p>The json values might contain multiple objects/values in which case these cannot be represented using XML without an artificial root node. For this reason we always create a root node. You can use the <tt>XPath</tt> node to remove it when possible (or to create a collection of XML values).</p>\n                \n            <p>In general object keys starting with <tt>&#64;</tt> and having simple values get translated to xml attributes, the only exception could be for the key of the text if specified (which case it will be XML text). Every non-letter or number or <tt>_</tt> character will be removed from the keys, which might cause ambiguity or create empty names, but will be kept as an attribute with key: <tt>ns:originalKey</tt> , so it is recommended to stick to English letters in JSON object keys.</p>\n            \n        \n        ","shortDescription":"Converts JSON values to XML documents.","keywords":[],"deprecated":false,"streamable":true,"tags":["Structured Data","JSON","Streamable"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdGRkYzODVFRjU5MTFFNUJCQTVFNkU1RjA4Rjk4QjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdGRkYzODZFRjU5MTFFNUJCQTVFNkU1RjA4Rjk4QjMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0ZGRjM4M0VGNTkxMUU1QkJBNUU2RTVGMDhGOThCMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0ZGRjM4NEVGNTkxMUU1QkJBNUU2RTVGMDhGOThCMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsLYQM8AAAFNSURBVHjalFM9T4RAEN1dLiER6DExFiaY+Fso7EywNvT3C1xLWxpDQWFPY8FPIaG1uFBBwYcFBeMO7l4WDu9jk8fswMyb3TcDBQBy7qKUYjBVOeizOI4/0zR1hUMUjqw3AZBxMPlBEECSJH0URaGKwgprkItjiLSE4aMoiqthGGLO+csZN3nSLXMch4zjSLquI23bfoRheHskGas+CNxJyzdIYNv2RCIINgJb8WG7JppYr+grTfEqDJORxDAMJMCTPC7EBG2/VJhOV0BgEBI0TXMjRdL7C7rVRIU9QV3XEwFCVtKr6Xu9jX8iMsZInueK4Ht5zBUf1HtmmibJsoxUVaUIvrTe08UMHJBS3/ehLEuV/CNwL4Tc/TPKB++YlowI+77fnRik+XE8zwPXdXvLsp5PjbJSftYJkfwukq9nJS4goJf8ztp07t1fAQYAhoD4/tcPjzUAAAAASUVORK5CYII=","views":[],"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"table with JSON","description":"A table with JSON column"}],"outPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"table with XML","description":"Table with the converted XML column"}],"dynInPorts":[],"dynOutPorts":[],"additionalSiteInformation":{"url":"https://update.knime.com/analytics-platform/5.12","trusted":true,"enabledByDefault":true,"name":"KNIME Analytics Platform 5.12 Update Site","version":"5.12.0"},"dialog":[{"sectionName":"Options","fields":[{"name":"Input column","description":"Column containing JSON values","optional":false},{"name":"Output column","description":"","optional":false},{"name":"New column name","description":"Name of the new (XML) column","optional":false},{"name":"Specify namespace","description":"If unchecked, no base namespace will be set.","optional":false},{"name":"Namespace","description":"The base namespace","optional":false},{"name":"Keep type information by adding namespace","description":"When checked, the JSON type information will be preserved, numbers, booleans, ... will be represented as text, but their node will have a prefix identifying its type. Otherwise all kind of values will be represented as text.","optional":false},{"name":"Empty list (https://www.w3.org/2001/XMLSchema/list)","description":"Only used for the <code>[]</code> JSON array when the Omit type information is unchecked. Otherwise it is not possible to distinguish between <code>[]</code> and <code>{}</code> .","optional":false},{"name":"Boolean (https://www.w3.org/2001/XMLSchema/boolean)","description":"Prefix for the boolean values.","optional":false},{"name":"Decimal (https://www.w3.org/2001/XMLSchema/decimal)","description":"Prefix for the floating point/decimal values.","optional":false},{"name":"Integer (https://www.w3.org/2001/XMLSchema/integer)","description":"Prefix for the integer values.","optional":false},{"name":"Null (https://www.w3.org/2001/XMLSchema)","description":"Prefix for the null values.","optional":false},{"name":"String (https://www.w3.org/2001/XMLSchema/string)","description":"Prefix for the String/text values.","optional":false},{"name":"Root element name","description":"There is always a root element, you can specify its name.","optional":false},{"name":"Array item name","description":"Array items not always can be represented as trees (for example arrays within arrays, or primitive types within arrays). In this case an XML element with the specified name will be created for each array entry.","optional":false},{"name":"Use parent keys as element name for arrays","description":"When checked, JSON such as\n<pre>                        <code>{\n    &#34;a&#34; : [\n        {&#34;b&#34; : 2},\n        {&#34;c&#34; : 3}\n    ]\n}</code>\n                    </pre>\ngets translated to\n<pre>                        <code>&lt;a&gt;\n &lt;b&gt;2&lt;/b&gt;\n&lt;/a&gt;\n&lt;a&gt;\n &lt;c&gt;3&lt;/c&gt;\n&lt;/a&gt;\n</code>\n                    </pre>\notherwise, it is translated to:\n<pre>                        <code>&lt;a&gt;\n &lt;item&gt;\n  &lt;b&gt;2&lt;/b&gt;\n &lt;/item&gt;\n &lt;item&gt;\n  &lt;c&gt;3&lt;/c&gt;\n &lt;/item&gt;\n&lt;/a&gt;\n</code>\n                    </pre>","optional":false},{"name":"Use a key to represent values as XML text","description":"When checked, simple values with the specified key will not create attributes, but provide the single text of the surrounding element.","optional":false},{"name":"Key for text","description":"The key name to represent as XML text","optional":false},{"name":"Translate JSON keys starting with # to","description":"JSON objects with keys starting with a hash sign such as\n<pre>                        <code>{&#34;#comment&#34;: &#34;content&#34;}</code>\n                    </pre>\ncan either be translated to XML elements\n<pre>                        <code>&lt;comment\n ns:originalKey&#61;&#34;#comment&#34;&gt;\n  content\n&lt;/comment&gt;\n</code>\n                    </pre>\nor to XML comments\n<pre>                        <code>&lt;!--content--&gt;</code>\n                    </pre>","optional":false},{"name":"Translate JSON keys starting with ? to","description":"JSON objects with keys starting with a question mark such as\n<pre>                        <code>{&#34;?pi&#34;: &#34;content&#34;}</code>\n                    </pre>\ncan either be translated to XML elements\n<pre>                        <code>&lt;pi ns:originalKey&#61;&#34;?pi&#34;&gt;\n content\n&lt;/pi&gt;\n</code>\n                    </pre>\nor to XML processing instructions\n<pre>                        <code>&lt;?pi content?&gt;</code>\n                    </pre>","optional":false},{"name":"Remove invalid XML characters from values","description":"XML 1.0 supports only a limited set of characters (see <a href=\"https://www.w3.org/TR/xml/#charsets\" rel=\"ugc nofollow noopener noreferrer\">RFC</a> ). When checked, invalid characters will be removed from values.","optional":false}]}],"links":[],"kudos":[],"kudosCount":0,"bundleInformation":{"bundleVersion":"5.12.0.v202605291551","bundleName":"JSON related functionality for KNIME","bundleSymbolicName":"org.knime.json","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.json","featureName":"KNIME JSON-Processing","featureVersion":"5.12.0.v202605291551","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*M6ImzgljvpBKaP13"},"frequentSuccessors":[{"id":"*dTIN1LNlL6w1s7MX","factoryName":"org.knime.xml.node.xpath2.XPathNodeFactory","probability":0.6226415094339622},{"id":"*WIUSsaii4mg6ZK5i","factoryName":"org.knime.xml.node.writer.XMLWriterNodeFactory","probability":0.08490566037735849},{"id":"*DOkyMaii62U05xZ1","factoryName":"org.knime.base.node.preproc.filter.column.DataColumnSpecFilterNodeFactory","probability":0.03773584905660377},{"id":"*eOn8ibZnxIkY7XhT","factoryName":"org.knime.base.node.preproc.stringmanipulation.StringManipulationNodeFactory","probability":0.02830188679245283},{"id":"*iY4Ln0a0nzW73ykY","factoryName":"org.knime.xml.node.ccombine2.XMLColumnCombinerNodeFactory","probability":0.018867924528301886},{"id":"*d25EcU2lz6RoE3gB","factoryName":"org.knime.base.node.meta.looper.chunk.LoopStartChunkNodeFactory","probability":0.009433962264150943},{"id":"*eyEk_DTTp2oTl6Ah","factoryName":"org.knime.json.node.fromxml.XMLToJSONNodeFactory","probability":0.009433962264150943},{"id":"*jd2U-FYTI8jCbQls","factoryName":"org.knime.base.node.preproc.filter.row.RowFilterNodeFactory","probability":0.009433962264150943},{"id":"*jDedZ_onUp4c833B","factoryName":"org.knime.rest.nodes.post.RestPostNodeFactory","probability":0.009433962264150943},{"id":"*LcqkSLdHZAfDzCr2","factoryName":"org.knime.base.node.preproc.append.row.AppendedRowsWithOptionalInNodeFactory","probability":0.009433962264150943}]}
