serialize-xml
A simple deno module for serializing objects to XML.
Usage
There is one concept here:
Tag
- representing a tag, like<this></this>
Examples
import { serialize, tag } from "https://raw.githubusercontent.com/olaven/serialize-xml/v0.3.2/mod.ts"
//<name></name>
const without_children = serialize(tag("name"))
//<name>children</name>
const without_attributes = serialize(tag("name", "children"))
//<name key="value">children</name>
const full_tag = serialize(tag("name", "children", [["key", "value"]]))
const xml = serialize(
tag("outer",
[
tag("inner", "content")
],
[
["key", "value"]
]
)
);
//prints: <outer><inner key="value">content</inner></outer>
console.log("serialized: ", xml);
Serialze XML declarations
import { serialize, declaration } from "https://raw.githubusercontent.com/olaven/serialize-xml/v0.3.2/mod.ts";
const xml = serialize(declaration([["version", "1.0"]]));
//prints: <?xml version="1.0"?>
console.log("serialized declaration", xml);
Multiple parens
``typescript
/* */
const xml = serialize( declaration([["version", "1.0"]]), tag("first_parent"), tag("second_parent", [ tag("child") ]) ); ``
Alternatively, build tags by passing an object.
import { serialize } from "https://raw.githubusercontent.com/olaven/serialize-xml/v0.3.2/mod.ts"
const xml = serialize({
name: "my_tag_name",
children: [
{
name: "sub_tag",
children: "inner_content_of_tag",
attributes: [
["attribute_key", "attribute_value"]
]
}
],
attributes: []
});
//prints: '<my_tag_name><sub_tag attribute_key="attribute_value">inner_content_of_tag</sub_tag></my_tag_name>'
console.log("serialized: ", xml);