diff --git a/lib/xml.js b/lib/xml.js
index 01a5654..941fa84 100644
--- a/lib/xml.js
+++ b/lib/xml.js
@@ -81,7 +81,7 @@ function xml(input, options) {
if (input && input.forEach) {
input.forEach(function (value, i) {
var last;
- if (i + 1 === input.length)
+ if (i == 0)
last = end;
add(value, last);
});
diff --git a/test/xml.test.js b/test/xml.test.js
index 845e79d..e6823d7 100644
--- a/test/xml.test.js
+++ b/test/xml.test.js
@@ -148,3 +148,22 @@ test('xml declaration options', t => {
t.is(xml([{a: 'test'}], {declaration: true, indent: '\n'}), '\ntest');
t.is(xml([{a: 'test'}], {}), 'test');
});
+
+test('multiple elements for xml', t=> {
+ var elem = xml.element({ _attr: { xmlns: 'http://www.opengis.net/kml/2.2'} });
+ var doc = xml.element({});
+
+ let output = "";
+
+ var stream = xml([{kml: elem}, {Document: doc}])
+ stream.on('data', data => {
+ output += data;
+ });
+
+ stream.on('end', () => {
+ t.is(output, '');
+ });
+
+ doc.close();
+ elem.close();
+});