• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

MMM-MealViewer

Scheduled Pinned Locked Moved Development
48 Posts 6 Posters 23.5k Views 6 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    htilburgs @sdetweil
    last edited by Dec 13, 2019, 6:51 PM

    @sdetweil Yeah! That part is working. Now I’ve an other error which has something to do with the xmlToJson function:

    Whoops! There was an uncaught exception...
    TypeError: xml.hasChildNodes is not a function
    

    Any idea?

    (still trying to learn JS, but not afraid to ask) ☺

    S 1 Reply Last reply Dec 13, 2019, 7:01 PM Reply Quote 0
    • S Offline
      sdetweil @htilburgs
      last edited by sdetweil Dec 13, 2019, 7:01 PM Dec 13, 2019, 7:01 PM

      @htilburgs yeh, tricky crap… they had a special runtime that supported that… sorry…
      have to use one of the libs…

      in your module folder do

      npm install xml2js
      

      then in your code

      const xml2js = require('xml2js');
      

      then

      getMTVM: function(url) {
                     let self=this
      		request(url, function(err, res, body) {
      		        // if no error and server was happy
      			if(err == null && res.statusCode ==200){
      			   console.log(body);
      			   xml2js.parseString(body,function (err,result) {
      			       let json_data = result // not needed but may make more clear
      			       console.log("Text is " + json_data.film[0].titel)			   
      			   });		   
      			}
      		});
      	},
      

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      H 1 Reply Last reply Dec 13, 2019, 7:09 PM Reply Quote 0
      • H Offline
        htilburgs @sdetweil
        last edited by htilburgs Dec 13, 2019, 7:10 PM Dec 13, 2019, 7:09 PM

        @sdetweil Almost there I think ;-)

        Whoops! There was an uncaught exception...
        TypeError: Cannot read property '0' of undefined
            at /home/pi/MagicMirror/modules/MMM-MyTVMovies/node_helper.js:28:47
            at Parser.<anonymous> (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/xml2js/lib/parser.js:306:18)
            at Parser.emit (events.js:182:13)
            at SAXParser.onclosetag (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/xml2js/lib/parser.js:264:26)
            at emit (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/sax/lib/sax.js:624:35)
            at emitNode (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/sax/lib/sax.js:629:5)
            at closeTag (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/sax/lib/sax.js:889:7)
            at SAXParser.write (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/sax/lib/sax.js:1436:13)
            at Parser.exports.Parser.Parser.parseString (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/xml2js/lib/parser.js:325:31)
            at Parser.parseString (/home/pi/MagicMirror/modules/MMM-MyTVMovies/node_modules/xml2js/lib/parser.js:5:59)
        

        Has this something to do with the json_data.film[0].titel ??
        Or is it something else?

        When I remove .film[0].titel I got:

        Text is [object Object]
        200[object Object]
        

        (still trying to learn JS, but not afraid to ask) ☺

        S 1 Reply Last reply Dec 13, 2019, 7:11 PM Reply Quote 0
        • S Offline
          sdetweil @htilburgs
          last edited by Dec 13, 2019, 7:11 PM

          @htilburgs u should look at the data format

          getMTVM: function(url) {
                         let self=this
          		request(url, function(err, res, body) {
          		        // if no error and server was happy
          			if(err == null && res.statusCode ==200){
          			   console.log(body);
          			   xml2js.parseString(body,function (err,result) {
          			       let json_data = result // not needed but may make more clear
          			       console.log(JSON.stringify(json_data))			   
          			   });		   
          			}
          		});
          	},
          

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          H 1 Reply Last reply Dec 13, 2019, 7:16 PM Reply Quote 0
          • H Offline
            htilburgs @sdetweil
            last edited by Dec 13, 2019, 7:16 PM

            @sdetweil JSON is perfect:

            0_1576264519518_ff13b851-b585-43c2-a741-02e28faa83e9-image.png

            Thanks for the help so far!! Now I have my data I can play around with it.

            (still trying to learn JS, but not afraid to ask) ☺

            1 Reply Last reply Reply Quote 0
            • 1
            • 2
            • 3
            • 4
            • 5
            • 5 / 5
            5 / 5
            • First post
              48/48
              Last post
            Enjoying MagicMirror? Please consider a donation!
            MagicMirror created by Michael Teeuw.
            Forum managed by Sam, technical setup by Karsten.
            This forum is using NodeBB as its core | Contributors
            Contact | Privacy Policy