You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					87 lines
				
				2.5 KiB
			
		
		
			
		
	
	
					87 lines
				
				2.5 KiB
			| 
											3 years ago
										 | # xmlbuilder-js
 | ||
|  | 
 | ||
|  | An XML builder for [node.js](https://nodejs.org/) similar to | ||
|  | [java-xmlbuilder](https://github.com/jmurty/java-xmlbuilder). | ||
|  | 
 | ||
|  | [](http://opensource.org/licenses/MIT) | ||
|  | [](https://npmjs.com/package/xmlbuilder) | ||
|  | [](https://npmjs.com/package/xmlbuilder) | ||
|  | 
 | ||
|  | [](http://travis-ci.org/oozcitak/xmlbuilder-js) | ||
|  | [](https://ci.appveyor.com/project/oozcitak/xmlbuilder-js) | ||
|  | [](https://david-dm.org/oozcitak/xmlbuilder-js) | ||
|  | [](https://coveralls.io/github/oozcitak/xmlbuilder-js) | ||
|  | 
 | ||
|  | ### Installation:
 | ||
|  | 
 | ||
|  | ``` sh | ||
|  | npm install xmlbuilder | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Usage:
 | ||
|  | 
 | ||
|  | ``` js | ||
|  | var builder = require('xmlbuilder'); | ||
|  | var xml = builder.create('root') | ||
|  |   .ele('xmlbuilder') | ||
|  |     .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git') | ||
|  |   .end({ pretty: true}); | ||
|  | 
 | ||
|  | console.log(xml); | ||
|  | ``` | ||
|  | 
 | ||
|  | will result in: | ||
|  | 
 | ||
|  | ``` xml | ||
|  | <?xml version="1.0"?> | ||
|  | <root> | ||
|  |   <xmlbuilder> | ||
|  |     <repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo> | ||
|  |   </xmlbuilder> | ||
|  | </root> | ||
|  | ``` | ||
|  | 
 | ||
|  | It is also possible to convert objects into nodes: | ||
|  | 
 | ||
|  | ``` js | ||
|  | builder.create({ | ||
|  |   root: { | ||
|  |     xmlbuilder: { | ||
|  |       repo: { | ||
|  |         '@type': 'git', // attributes start with @ | ||
|  |         '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // text node | ||
|  |       } | ||
|  |     } | ||
|  |   } | ||
|  | }); | ||
|  | ``` | ||
|  | 
 | ||
|  | If you need to do some processing: | ||
|  | 
 | ||
|  | ``` js | ||
|  | var root = builder.create('squares'); | ||
|  | root.com('f(x) = x^2'); | ||
|  | for(var i = 1; i <= 5; i++) | ||
|  | { | ||
|  |   var item = root.ele('data'); | ||
|  |   item.att('x', i); | ||
|  |   item.att('y', i * i); | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | This will result in: | ||
|  | 
 | ||
|  | ``` xml | ||
|  | <?xml version="1.0"?> | ||
|  | <squares> | ||
|  |   <!-- f(x) = x^2 --> | ||
|  |   <data x="1" y="1"/> | ||
|  |   <data x="2" y="4"/> | ||
|  |   <data x="3" y="9"/> | ||
|  |   <data x="4" y="16"/> | ||
|  |   <data x="5" y="25"/> | ||
|  | </squares> | ||
|  | ``` | ||
|  | 
 | ||
|  | See the [wiki](https://github.com/oozcitak/xmlbuilder-js/wiki) for details and [examples](https://github.com/oozcitak/xmlbuilder-js/wiki/Examples) for more complex examples. |