xml-lite
Version:
maintaining xml in pure javascript (IN BOTH NODE.JS & BROWSERS)
310 lines (307 loc) • 7.09 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" name="viewport" content="width=device-width, initial-scale=1"/>
<title>API</title>
<link rel="stylesheet" href="https://leungwensen.github.io/zfinder/dist/lib/normalize-4.2.0.min.css">
<link rel="stylesheet" href="https://leungwensen.github.io/zfinder/dist/lib/github-markdown-2.3.0.min.css">
<link rel="stylesheet" href="https://leungwensen.github.io/zfinder/dist/zfinder/markdown-previewer.css">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"
style="width:0;height:0;position:absolute;overflow:hidden;">
<defs>
<symbol id="si-zfinder-collapse-left" viewBox="0 0 38 38">
<path d="M38 0H0v38h38V0zM3 35V3h32v32H3zM5 5v28h17V21h-9.667L16 26h-4l-5-7 5-7h4l-3.667 5H22V5H5z"/>
</symbol>
<symbol id="si-zfinder-expand-right" viewBox="0 0 38 38">
<path d="M0 0h38v38H0V0zm35 35V3H3v32h32zM22 5v28H5V21h9.667L11 26h4l5-7-5-7h-4l3.667 5H5V5h17z"/>
</symbol>
<symbol id="si-zfinder-fullscreen" viewBox="0 0 28 28">
<path d="M4 18H0v10h10v-4H4v-6zm-4-8h4V4h6V0H0v10zm24 14h-6v4h10V18h-4v6zM18 0v4h6v6h4V0H18z"/>
</symbol>
<symbol id="si-zfinder-fullscreen-exit" viewBox="0 0 28 28">
<path d="M0 22h6v6h4V18H0v4zM6 6H0v4h10V0H6v6zm12 22h4v-6h6v-4H18v10zm4-22V0h-4v10h10V6h-6z"/>
</symbol>
</defs>
</svg>
<nav id="toc">
<div id="toc-body" class="toc-body"></div>
</nav>
<article id="markdown">
<nav id="markdown-header" class="markdown-header">
<svg class="si" id="toggle-toc" width="24" height="24">
<use xlink:href="#si-zfinder-collapse-left"></use>
</svg>
<svg class="si float-right" id="toggle-fullscreen-article" width="24" height="24">
<use xlink:href="#si-zfinder-fullscreen"></use>
</svg>
</nav>
<div id="markdown-body" class="markdown-body"><h1>API</h1>
<h2>Properties</h2>
<table>
<thead>
<tr>
<th>supported</th>
<th>name</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td>yes</td>
<td>domParser</td>
<td>instance of DOMParser</td>
</tr>
<tr>
<td>yes</td>
<td>xmlSerializer</td>
<td>instance of XMLSerializer</td>
</tr>
</tbody>
</table>
<h2>Methods</h2>
<h3>Parsing/Serializing</h3>
<table>
<thead>
<tr>
<th>supported</th>
<th>name</th>
<th>alias</th>
<th>parameters</th>
<th>return value</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td>yes</td>
<td>parse</td>
<td>parseFromString</td>
<td>String str</td>
<td>Document doc</td>
<td>parsing a xml string</td>
</tr>
<tr>
<td>yes</td>
<td>serialize</td>
<td>serializeToString</td>
<td>Document doc</td>
<td>String str</td>
<td>Document to xml string</td>
</tr>
</tbody>
</table>
<h3>DOM maintaining</h3>
<table>
<thead>
<tr>
<th>supported</th>
<th>name</th>
<th>alias</th>
<th>parameters</th>
<th>return value</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td>yes</td>
<td>attributesAsObject</td>
<td></td>
<td>Node doc</td>
<td>Node child</td>
<td>attributes to key-value pairs</td>
</tr>
<tr>
<td>yes</td>
<td>findChildNode</td>
<td></td>
<td>Node doc, Object query</td>
<td>Node child</td>
<td>find one child node</td>
</tr>
<tr>
<td>yes</td>
<td>findChildNodes</td>
<td></td>
<td>Node doc, Object query</td>
<td>Array(Node)</td>
<td>find child nodes</td>
</tr>
<tr>
<td>yes</td>
<td>findNodes</td>
<td></td>
<td>Node doc, Object query</td>
<td>Array(Node)</td>
<td>find nodes</td>
</tr>
<tr>
<td>yes</td>
<td>findOrCreateChildNode</td>
<td></td>
<td>Node doc, Object query</td>
<td>Node child</td>
<td>find or create one child node</td>
</tr>
<tr>
<td>yes</td>
<td>removeChildNode</td>
<td></td>
<td>Node doc, Object query</td>
<td>Node child</td>
<td>remove one child node</td>
</tr>
<tr>
<td>yes</td>
<td>eachChildNode</td>
<td></td>
<td>Node doc, Object query, Function callback</td>
<td>null</td>
<td>execute callback using child node as parameter</td>
</tr>
<tr>
<td>yes</td>
<td>eachNode</td>
<td></td>
<td>Node doc, Object query, Function callback</td>
<td>null</td>
<td>execute callback using node as parameter</td>
</tr>
</tbody>
</table>
<h4>Sample for <code>Object query</code></h4>
<pre><code class="language-javascript"><span class="hljs-comment">// query for <some-tag key="value"/></span>
{
<span class="hljs-attr">tagName</span>: <span class="hljs-string">'some-tag'</span>, <span class="hljs-comment">// Node.tagName === 'some-tag'</span>
nodeName: <span class="hljs-string">'some-tag'</span>, <span class="hljs-comment">// Node.nodeName === 'some-tag'</span>
attributes: { <span class="hljs-comment">// Node.getAttribute('key') === 'value'</span>
key: <span class="hljs-string">'value'</span>
}
}
</code></pre>
<h3>Formatting</h3>
<table>
<thead>
<tr>
<th>supported</th>
<th>name</th>
<th>alias</th>
<th>parameters</th>
<th>return value</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td>yes</td>
<td>beautify</td>
<td></td>
<td>String xml, (String or Number) step</td>
<td>String str</td>
<td>beautify xml string</td>
</tr>
<tr>
<td>yes</td>
<td>uglify</td>
<td></td>
<td>String xml, Boolean preserveComments</td>
<td>String str</td>
<td>uglify xml string</td>
</tr>
<tr>
<td>yes</td>
<td>sanitize</td>
<td></td>
<td>String xml, Boolean reverse</td>
<td>String str</td>
<td>escape or unescape “&”, “<” and “>”</td>
</tr>
</tbody>
</table>
<h3>Converting</h3>
<table>
<thead>
<tr>
<th>supported</th>
<th>name</th>
<th>alias</th>
<th>parameters</th>
<th>return value</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td>yes</td>
<td>dom2js</td>
<td></td>
<td>Node node</td>
<td>Object obj</td>
<td>converting a Node instance into js object</td>
</tr>
<tr>
<td>yes</td>
<td>xml2js</td>
<td></td>
<td>String xml</td>
<td>Object obj</td>
<td>converting an xml string into js object</td>
</tr>
<tr>
<td>yes</td>
<td>xml2json</td>
<td></td>
<td>String xml, String replacer, String space</td>
<td>String json</td>
<td>converting an xml string into json string</td>
</tr>
<tr>
<td>yes</td>
<td>js2xml</td>
<td></td>
<td>Object obj, Object options</td>
<td>String xml</td>
<td>converting an object into xml string</td>
</tr>
<tr>
<td>yes</td>
<td>json2xml</td>
<td></td>
<td>String json, Object options</td>
<td>String xml</td>
<td>converting a json string into xml string</td>
</tr>
<tr>
<td>yes</td>
<td>js2dom</td>
<td></td>
<td>Object obj</td>
<td>Node doc</td>
<td>converting an object into a Node instance</td>
</tr>
<tr>
<td>yes</td>
<td>json2dom</td>
<td></td>
<td>String json</td>
<td>Node doc</td>
<td>converting a json string into a Node instance</td>
</tr>
</tbody>
</table>
</div>
</article>
<div id="loading">
<div class="sk-double-bounce">
<div class="sk-child sk-double-bounce1"></div>
<div class="sk-child sk-double-bounce2"></div>
</div>
</div>
<script src="https://leungwensen.github.io/zfinder/dist/lib/jquery-3.1.0.min.js"></script>
<script src="https://leungwensen.github.io/zfinder/dist/lib/screenfull-3.0.0.min.js"></script>
<script src="https://leungwensen.github.io/zfinder/dist/zfinder/markdown-previewer.js"></script>
</body>
</html>