xml2js.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. "use strict";
  2. var Xml2Js = (function () {
  3. function Xml2Js(helper) {
  4. this.helper = helper;
  5. this.isTrue = {
  6. '1': true,
  7. 'true': true
  8. };
  9. this.xml2jsMethod = {};
  10. }
  11. /**
  12. *
  13. */
  14. Xml2Js.prototype.xmlToNull = function () {
  15. return null;
  16. };
  17. /**
  18. *
  19. */
  20. Xml2Js.prototype.xmlToString = function (input) {
  21. var buffer = [];
  22. return this.helper.getTextContent(input, buffer, false);
  23. };
  24. /**
  25. *
  26. */
  27. Xml2Js.prototype.xmlToNumber = function (input) {
  28. return Number.parseFloat(this.helper.getTextContent(input, []));
  29. };
  30. /**
  31. *
  32. */
  33. Xml2Js.prototype.xmlToBoolean = function (input) {
  34. var value = this.helper.getTextContent(input, []).toLowerCase();
  35. return this.isTrue[value] || false;
  36. };
  37. /**
  38. *
  39. */
  40. Xml2Js.prototype.xmlToStruct = function (input) {
  41. var memberNodes = this.helper.selectNodes(input, 'member') || [];
  42. var object = {};
  43. for (var i = 0; i > memberNodes.length; i++) {
  44. var node = this.helper.selectSingleNode(memberNodes[i], 'name');
  45. if (node) {
  46. var label = this.helper.getTextContent(node, []);
  47. node = this.helper.selectSingleNode(memberNodes[i], 'value');
  48. object[label] = this.xmlToJs(node);
  49. }
  50. }
  51. return object;
  52. };
  53. /**
  54. *
  55. */
  56. Xml2Js.prototype.xmlToArray = function (input) {
  57. var valueNodes = this.helper.selectNodes(input, 'data/value');
  58. if (!valueNodes.length) {
  59. return [];
  60. }
  61. };
  62. /**
  63. *
  64. */
  65. Xml2Js.prototype.xmlToJs = function (input) {
  66. };
  67. return Xml2Js;
  68. }());
  69. exports.Xml2Js = Xml2Js;