Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
xml-beautify
Advanced tools
xml-beautify - pretty-print text in XML formats.
It is licensed under MIT license.
var beautifiedXmlText = new XmlBeautify().beautify(srcXmlText,
{
indent: " ", //indent pattern like white spaces
useSelfClosingElement: true //true:use self-closing element when empty element.
});
[BEFORE] source XML
<?xml version="1.0" encoding="utf-8"?><example version="2.0">
<head>
<title>Original Title</title>
</head>
<body>
<element message="Greeting" title="Chapter1">
<element message="We say good morning in the morning."></element><element message="We say hello at noon."/>
<element message="We say good evening at night."/>
</element>
<element message="Thank" title="Chapter2">
<element>value</element>
<element></element><foo><![CDATA[ < > & ]]></foo>
</element>
</body>
</example>
[AFTER] beautified XML
<?xml version="1.0" encoding="utf-8"?>
<example version="2.0">
<head>
<title>Original Title</title>
</head>
<body>
<element message="Greeting" title="Chapter1">
<element message="We say good morning in the morning." />
<element message="We say hello at noon." />
<element message="We say good evening at night." />
</element>
<element message="Thank" title="Chapter2">
<element>value</element>
<element />
<foo><![CDATA[ < > & ]]></foo>
</element>
</body>
</example>
npm install xml-beautify
<script src="https://cdn.jsdelivr.net/npm/xml-beautify@1.2.1/dist/XmlBeautify.js"></script>
https://riversun.github.io/xml-beautify/index.html
clone this project and type
git clone https://github.com/riversun/xml-beautify.git
npm start
<!DOCTYPE html>
<html lang="en">
<body>
<script src="https://cdn.jsdelivr.net/npm/xml-beautify@1.2.1/dist/XmlBeautify.js"></script>
<script>
const srcXmlText = `<?xml version="1.0" encoding="utf-8"?><example version="2.0">
<head>
<title>Original Title</title>
</head>
<body>
<element message="Greeting" title="Chapter1">
<element message="We say good morning in the morning."></element><element message="We say hello at noon."/>
<element message="We say good evening at night."/>
</element>
<element message="Thank" title="Chapter2">
<element>value</element>
<element></element>
</element>
</body>
</example>`;
const beautifiedXmlText = new XmlBeautify().beautify(srcXmlText);
console.log(beautifiedXmlText);
</script>
</body>
</html>
To run XmlBeautify on node.js, need to install an external DOMParser like as follows.
npm install xmldom
And specify it as follows,
new XmlBeautify({ parser: DOMParser })
const XmlBeautify = require('xml-beautify');
const { DOMParser } = require('xmldom');// When used in a node.js environment, DOMParser is needed.
const srcXmlText = `<?xml version="1.0" encoding="utf-8"?><example version="2.0">
<head>
<title>Original Title</title>
</head>
<body>
<element message="Greeting" title="Chapter1">
<element message="We say good morning in the morning."></element><element message="We say hello at noon."/>
<element message="We say good evening at night."/>
</element>
<element message="Thank" title="Chapter2">
<element>value</element>
<element></element>
</element>
</body>
</example>`;
const beautifiedXmlText = new XmlBeautify({ parser: DOMParser }).beautify(srcXmlText);
console.log(beautifiedXmlText);
FAQs
XML pretty formatter that corresponds to the self-closing empty elements.
The npm package xml-beautify receives a total of 1,605 weekly downloads. As such, xml-beautify popularity was classified as popular.
We found that xml-beautify demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.