Leonidas-from-XIV / node-xml2js

XML to JavaScript object converter.
MIT License
4.89k stars 605 forks source link

How to add namespace to root item in builder #541

Open quoininc-huudatran opened 5 years ago

quoininc-huudatran commented 5 years ago

Hi,

How do you add the namespace when creating the builder?

I have the following code that add the namespace, but doesn't have a good output:

        const xmlObj = {
            urlset: {
                $: { xmlns: 'http://www.sitemaps.org/schemas/sitemap/0.9' },
                _: urls
            }
        };
        const builder = new xml2js.Builder();
        return builder.buildObject(xmlObj);

It generates this weird thing at the bottom:

sitemap_1_xml

With the following code, I don't get the namespace:

        const builder = new xml2js.Builder({
            rootName: 'urlset',
            $: { xmlns: 'http://www.sitemaps.org/schemas/sitemap/0.9' }
        });
        return builder.buildObject(urls);
sitemap_2_xml

Any way to fix this?

rdupz commented 1 year ago

Also interested in this. What's the best workaround?