4.1.2 • Published 11 months ago
xml-parser-xo v4.1.2
xml-parser-xo
An XML parser based on xml-parser.
Installation
$ npm install xml-parser-xo
Example
Usage:
import xmlParser from 'xml-parser-xo';
var xml = `<?xml version="1.0" encoding="utf-8"?>
<!-- Load the stylesheet -->
<?xml-stylesheet href="foo.xsl" type="text/xsl" ?>
<!DOCTYPE foo SYSTEM "foo.dtd">
<foo><![CDATA[some text]]> content</foo>`;
xmlParser(xml);
Output:
{
"declaration": {
"type": "ProcessingInstruction",
"attributes": {"version": "1.0", "encoding": "utf-8"}
},
"root": {
"type": "Element",
"name": "foo",
"attributes": {},
"children": [
{"type": "CDATA", "content": "<![CDATA[some text]]>"},
{"type": "Text", "content": " content"}
]
},
"children": [
{"type": "Comment", "content": "<!-- Load the stylesheet -->"},
{"type": "ProcessingInstruction", "attributes": {"href": "foo.xsl", "type": "text/xsl"}},
{"type": "DocumentType", "content": "<!DOCTYPE foo SYSTEM \"foo.dtd\">"},
{
"type": "Element",
"name": "foo",
"attributes": {},
"children": [
{"type": "CDATA", "content": "<![CDATA[some text]]>"},
{"type": "Text", "content": " content"}
]
}
]
}
Options
filter
: Function to filter out unwanted nodes by returningfalse
.- type:
function(node) => boolean
- default:
() => true
- type:
strictMode
: True to throw an error when parsing XML document with invalid content like mismatched closing tags.- type:
boolean
- default:
false
- type:
Usage:
import xmlParser from 'xml-parser-xo';
const xml = `<?xml version="1.0" encoding="utf-8"?>
<!-- Load the stylesheet -->
<?xml-stylesheet href="foo.xsl" type="text/xsl" ?>
<!DOCTYPE foo SYSTEM "foo.dtd">
<foo><![CDATA[some text]]> content</foo>`;
xmlParser(xml, {
filter: (node) => {
return node.type === 'Element' || node.type === 'Text';
}
});
Output:
{
"declaration": {
"type": "ProcessingInstruction",
"attributes": {"version": "1.0", "encoding": "utf-8"}
},
"root": {
"type": "Element",
"name": "foo",
"attributes": {},
"children": [
{"type": "Text", "content": " content"}
]
},
"children": [
{
"type": "Element",
"name": "foo",
"attributes": {},
"children": [
{"type": "Text", "content": " content"}
]
}
]
}
License
MIT
4.1.2
11 months ago
4.1.1
2 years ago
4.0.5
2 years ago
4.0.4
2 years ago
4.1.0
2 years ago
4.0.3
2 years ago
4.0.2
2 years ago
4.0.1
2 years ago
4.0.0
3 years ago
3.2.0
3 years ago
3.1.2
4 years ago
3.1.1
5 years ago
3.1.0
5 years ago
3.0.1
5 years ago
3.0.0
5 years ago
2.2.1
5 years ago
2.2.0
5 years ago
2.1.3
9 years ago
2.1.2
9 years ago
2.1.1
9 years ago
2.1.0
9 years ago