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
						
					
					
				| # 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.
 |