Login
OneManager
Home
/
Bethel
/
tmp
/
october-report-20261021
/
node_modules
/
xml
File
OriginalPic
Thumbnails
CopyAllDownloadUrl
EditTime
Size
examples
2026-10-14 12:35:24
3.38 KB
lib
2026-10-14 12:35:24
7.39 KB
test
2026-10-14 12:35:24
5.28 KB
LICENSE
2026-10-21 07:16:17
1.07 KB
package.json
2026-10-21 07:16:17
960 B
readme.md
2026-10-21 07:16:17
4.69 KB
# xml [](http://travis-ci.org/dylang/node-xml) [](https://nodei.co/npm/xml/) > Fast and simple Javascript-based XML generator/builder for Node projects. ## Install $ npm install xml ## API ### `xml(xmlObject, options)` Returns a `XML` string. ```js var xml = require('xml'); var xmlString = xml(xmlObject, options); ``` #### `xmlObject` `xmlObject` is a normal JavaScript Object/JSON object that defines the data for the XML string. Keys will become tag names. Values can be an `array of xmlObjects` or a value such as a `string` or `number`. ```js xml({a: 1}) === '
1
' xml({nested: [{ keys: [{ fun: 'hi' }]}]}) === '
hi
' ``` There are two special keys: `_attr` Set attributes using a hash of key/value pairs. ```js xml({a: [{ _attr: { attributes: 'are fun', too: '!' }}, 1]}) === '
1
' ```` `_cdata` Value of `_cdata` is wrapped in xml `![CDATA[]]` so the data does not need to be escaped. ```js xml({a: { _cdata: "i'm not escaped:
!"}}) === '
!]]>
' ``` Mixed together: ```js xml({a: { _attr: { attr:'hi'}, _cdata: "I'm not escaped" }}) === '
' ``` #### `options` `indent` _optional_ **string** What to use as a tab. Defaults to no tabs (compressed). For example you can use `'\t'` for tab character, or `' '` for two-space tabs. `stream` Return the result as a `stream`. **Stream Example** ```js var elem = xml.element({ _attr: { decade: '80s', locale: 'US'} }); var stream = xml({ toys: elem }, { stream: true }); stream.on('data', function (chunk) {console.log("data:", chunk)}); elem.push({ toy: 'Transformers' }); elem.push({ toy: 'GI Joe' }); elem.push({ toy: [{name:'He-man'}] }); elem.close(); /* result: data:
data:
Transformers
data:
GI Joe
data:
He-man
data:
*/ ``` `Declaration` _optional_ Add default xml declaration as first node. _options_ are: * encoding: 'value' * standalone: 'value' **Declaration Example** ```js xml([ { a: 'test' }], { declaration: true }) //result: '
test
' xml([ { a: 'test' }], { declaration: { standalone: 'yes', encoding: 'UTF-16' }}) //result: '
test
' ``` ## Examples **Simple Example** ```js var example1 = [ { url: 'http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower' } ]; console.log(XML(example1)); //
http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower
``` **Example with attributes** ```js var example2 = [ { url: { _attr: { hostname: 'www.google.com', path: '/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower' } } } ]; console.log(XML(example2)); //result:
``` **Example with array of same-named elements and nice formatting** ```js var example3 = [ { toys: [ { toy: 'Transformers' } , { toy: 'GI Joe' }, { toy: 'He-man' } ] } ]; console.log(XML(example3)); //result:
Transformers
GI Joe
He-man
console.log(XML(example3, true)); /* result:
Transformers
GI Joe
He-man
*/ ``` **More complex example** ```js var example4 = [ { toys: [ { _attr: { decade: '80s', locale: 'US'} }, { toy: 'Transformers' } , { toy: 'GI Joe' }, { toy: 'He-man' } ] } ]; console.log(XML(example4, true)); /* result:
Transformers
GI Joe
He-man
*/ ``` **Even more complex example** ```js var example5 = [ { toys: [ { _attr: { decade: '80s', locale: 'US'} }, { toy: 'Transformers' } , { toy: [ { _attr: { knowing: 'half the battle' } }, 'GI Joe'] }, { toy: [ { name: 'He-man' }, { description: { _cdata: '
Master of the Universe!
'} } ] } ] } ]; console.log(XML(example5, true)); /* result:
Transformers
GI Joe
He-man
Master of the Universe!]]>
*/ ``` ## Tests Tests included use [AVA](https://ava.li). Use `npm test` to run the tests. $ npm test ## Examples There are examples in the examples directory. # Contributing Contributions to the project are welcome. Feel free to fork and improve. I accept pull requests when tests are included.
Close
2026-10-29 08:06:40 Thursday 216.73.216.30 Runningtime:1.056s Mem:413.38 KB