Add script to convert video game XML to JSON

This commit is contained in:
James Skemp 2021-04-03 17:33:11 -05:00
parent 2a07e66271
commit cf03e8ecbc
6 changed files with 135106 additions and 1 deletions

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
# General
.DS_Store
node_modules
# Build results
[Oo]bj/

134999
json/video_games.json Normal file

File diff suppressed because it is too large Load Diff

23
node/video_games.js Normal file
View File

@ -0,0 +1,23 @@
const fs = require('fs');
const xml2js = require('xml2js');
const xmlFile = fs.readFile('./xml/video_games.xml', (err, data) => {
if (err) {
throw err;
}
const parser = new xml2js.Parser();
parser.parseString(data, function (err, result) {
if (err) {
throw err;
}
fs.writeFile('./json/video_games.json', JSON.stringify(result, null, '\t'), (err) => {
if (err) {
throw err;
}
console.log('Done');
});
});
});

60
package-lock.json generated Normal file
View File

@ -0,0 +1,60 @@
{
"name": "media.jamesrskemp",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "1.0.0",
"dependencies": {
"xml2js": "^0.4.23"
}
},
"node_modules/sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"node_modules/xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"engines": {
"node": ">=4.0"
}
}
},
"dependencies": {
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
}
},
"xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
}
}
}

19
package.json Normal file
View File

@ -0,0 +1,19 @@
{
"name": "media.jamesrskemp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build:video_games": "node ./node/video_games.js"
},
"repository": {
"type": "git",
"url": "git+ssh://git@gitlab.com/strivinglife/media.jamesrskemp.git"
},
"author": "James Skemp <strivinglife@gmail.com> (https://jamesrskemp.com/)",
"homepage": "https://gitlab.com/strivinglife/media.jamesrskemp#readme",
"dependencies": {
"xml2js": "^0.4.23"
}
}

View File

@ -49929,7 +49929,7 @@
<notes/>
</game>
<game id="3506" electronic="true">
<title>Arc Area: Monster Tournament (PSOne Classic)</title>
<title>Arc Arena: Monster Tournament (PSOne Classic)</title>
<system>
<console>PlayStation</console>
<version>3/Vita/Portable</version>
@ -50264,6 +50264,9 @@
<own>yes</own>
<notes>Purchased because Elliott may like it.</notes>
</game>
<!-- after adding new items run the following from root:
npm run build:video_games
-->
<!--
-->
<!--