| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | <!DOCTYPE html><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>The source code</title>  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>  <style type="text/css">    .highlight { display: block; background-color: #ddd; }  </style>  <script type="text/javascript">    function highlight() {      document.getElementById(location.hash.replace(/#/, "")).className = "highlight";    }  </script></head><body onload="prettyPrint(); highlight();">  <pre class="prettyprint lang-js"><span id='Ext-data-writer-Xml'>/**</span> * @author Ed Spencer * @class Ext.data.writer.XmlThis class is used to write {@link Ext.data.Model} data to the server in an XML format.The {@link #documentRoot} property is used to specify the root element in the XML document.The {@link #record} option is used to specify the element name for each record that will makeup the XML document. * @markdown */Ext.define('Ext.data.writer.Xml', {        /* Begin Definitions */        extend: 'Ext.data.writer.Writer',    alternateClassName: 'Ext.data.XmlWriter',        alias: 'writer.xml',        /* End Definitions */    <span id='Ext-data-writer-Xml-cfg-documentRoot'>    /**</span>     * @cfg {String} documentRoot The name of the root element of the document. Defaults to <tt>'xmlData'</tt>.     * If there is more than 1 record and the root is not specified, the default document root will still be used     * to ensure a valid XML document is created.     */    documentRoot: 'xmlData',    <span id='Ext-data-writer-Xml-cfg-defaultDocumentRoot'>    /**</span>     * @cfg {String} defaultDocumentRoot The root to be used if {@link #documentRoot} is empty and a root is required     * to form a valid XML document.     */    defaultDocumentRoot: 'xmlData',<span id='Ext-data-writer-Xml-cfg-header'>    /**</span>     * @cfg {String} header A header to use in the XML document (such as setting the encoding or version).     * Defaults to <tt>''</tt>.     */    header: '',<span id='Ext-data-writer-Xml-cfg-record'>    /**</span>     * @cfg {String} record The name of the node to use for each record. Defaults to <tt>'record'</tt>.     */    record: 'record',    //inherit docs    writeRecords: function(request, data) {        var me = this,            xml = [],            i = 0,            len = data.length,            root = me.documentRoot,            record = me.record,            needsRoot = data.length !== 1,            item,            key;                    // may not exist        xml.push(me.header || '');                if (!root && needsRoot) {            root = me.defaultDocumentRoot;        }                if (root) {            xml.push('<', root, '>');        }                    for (; i < len; ++i) {            item = data[i];            xml.push('<', record, '>');            for (key in item) {                if (item.hasOwnProperty(key)) {                    xml.push('<', key, '>', item[key], '</', key, '>');                }            }            xml.push('</', record, '>');        }                if (root) {            xml.push('</', root, '>');        }                    request.xmlData = xml.join('');        return request;    }});</pre></body></html>
 |