Convert Wordpress eXtended RSS - WXR - files to JSON at the command line. Because sometimes you'd rather have JSON than a mangled form of XML.
Built entirely for myself, but maybe you'll find this useful to. Consider this code as 100% "works for me".
Tested on node 10; it'll probably work on 8 too. I like
yarn as a package manager.
wxr_to_json converts a wordpress XML file to JSON, emitted on STDOUT.
You can supply the xml file as an argument:
or on STDIN:§
cat my_export_file.xml | ./wxr_to_json.js
Note that in this examples, I've made the
wxr_to_json.js file executable.
The script does a few pieces of highly opinionated 'tidying':
- it flattens various fields with
xml2jsturns into arrays into strings; these are described by the array
fieldsToFlattenin the code.
- it assumes a single category per post, because that's how I used Wordpress, and tidies this to
tidyCategory, a single string
- it tidies tags to a string array,
- these 'tidied' fields are good enough for most purposes. You still have access to the full-fat