Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var xmlPath = "/Users/BenMason/Desktop/xml/";
- var artwork = {};
- function ArtworkData(artworkID) {
- //Find and parse label id
- var file = new File(xmlPath + artworkID + ".XML");
- var xmlFile = new XML(readXMLFile(file));
- loadData(xmlToJson(xmlFile).entries.element);
- }
- ArtworkData.prototype = {
- id : function() {
- return artwork.id;
- },
- job : function() {
- return artwork.job;
- },
- order : function() {
- return artwork.order;
- },
- leading : function() {
- return artwork.leading;
- },
- material : function() {
- return artwork.material;
- },
- barcode : function() {
- return {
- type : artwork.barcode.type,
- size : artwork.barcode.size,
- reduction : artwork.barcode.reduction,
- number : artwork.barcode.number
- };
- }
- };
- function loadData(xml) {
- artwork.information = xml;
- artwork.id = xml["jobid"];
- artwork.job = getValue(xml["jobref"]);
- artwork.order = getValue(xml["orderref"]);
- artwork.leading = getValue(xml["reel"]);
- artwork.material = getValue(xml["printmaterial"]);
- artwork.barcode = {};
- artwork.barcode.type = getValue(xml["barcodetype"]);
- artwork.barcode.size = getValue(xml["barcodesize"]);
- artwork.barcode.reduction = getValue(xml["barwidthreduction"]);
- artwork.barcode.number = getValue(xml["barcodenumber"]);
- }
- function getValue(obj) {
- try {
- return obj["text"];
- } catch (e) {
- return "";
- }
- }
- function readXMLFile(file) {
- if (!file.exists) {
- throw "Cannot find file: " + deodeURI(file.absoluteURI);
- }
- file.encoding = "UTF8";
- file.lineFeed = "unix";
- file.open("r", "TEXT", "????");
- var str = file.read();
- file.close();
- return new XML(str);
- };
- function xmlToJson(xml) {
- // Create the return object
- var obj = {};
- if (xml.nodeKind() == "element") {
- if (xml.attributes().length() > 0) {
- for (var j = 0; j < xml.attributes().length(); j++) {
- var attributeName = xml.attributes()[j].name();
- obj[attributeName] = String(xml.attributes()[j]);
- }
- }
- } else if (xml.nodeKind() == "text") {
- obj['text'] = xml.text();
- }
- if (xml.children()) {
- for (var i = 0; i < xml.children().length(); i++) {
- var item = xml.child(i);
- if (xml.children()[i].nodeKind() == "text") {
- obj['text'] = xml.children()[i].toString();
- } else {
- var nodeName = item.name();
- if (typeof(obj[nodeName]) == "undefined") {
- obj[nodeName] = xmlToJson(item);
- } else {
- if (typeof(obj[nodeName].push) == "undefined") {
- var old = obj[nodeName];
- obj[nodeName] = [];
- obj[nodeName].push(old);
- }
- obj[nodeName].push(xmlToJson(item));
- }
- }
- }
- }
- return obj;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement