Attributes
Includes Deno configuration
Repository
Current version released
3 years ago
littlexml
A small and simple XML builder for JavaScript/TypeScript.
About
This library is designed to run on small JavaScript runtimes such as Cloudflare Workers. It also works on Deno, Node.js, and browsers.
Support platforms
- Deno
- Node.js
- Browser
- Edge
Installation
Node.js
Install package from npm.
npm install @shun-shobon/littlexml
You can import from the package as @shun-shobon/littlexml
.
import { element, renderToString } from "@shun-shobon/littlexml";
Deno
You can directly import from deno.land/x
.
import {
element,
renderToString,
} from "https://deno.land/x/littlexml@0.1.2/mod.ts";
Browser
You can directly import from unpkg.com
.
import {
element,
renderToString,
} from "https://unpkg.com/@shun-shobon/littlexml@0.1.2";
Example
This example is rendering a sitemap.
import { element, renderToString } from "@shun-shobon/littlexml";
const root = element("urlset")
.attr("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")
.attr("xmlns:image", "http://www.google.com/schemas/sitemap-image/1.1")
.child(
element("url")
.child(element("loc").text("https://example.com/"))
.child(element("lastmod").text("2020-01-01"))
.child(element("changefreq").text("daily"))
.child(element("priority").text("0.8"))
.child(
element("image:image")
.child(element("image:loc").text("https://example.com/image.png"))
.child(element("image:caption").text("caption"))
)
);
const xml = renderToString(root, { version: "1.0", indent: 2 });
console.log(xml);
console output:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://example.com/</loc>
<lastmod>2020-01-01</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
<image:image>
<image:loc>https://example.com/image.png</image:loc>
<image:caption>caption</image:caption>
</image:image>
</url>
</urlset>