Winamp & Shoutcast Forums

Winamp & Shoutcast Forums (http://forums.winamp.com/index.php)
-   NSIS Discussion (http://forums.winamp.com/forumdisplay.php?f=65)
-   -   ${xml::FindNextElement} (http://forums.winamp.com/showthread.php?t=268609)

ChrisMorton75 29th March 2007 17:11

${xml::FindNextElement}
 
I'm trying to pull values from one xml file and insert them in another. It works as long as all the elements exist in the file.

Here's the snippet (after the file is loaded)

;-----------------------------------------------------------
; Go to the root xml element
${xml::RootElement} $0 $1

; Initialize text
StrCpy $userid_text ""

; find (go to) the element
${xml::FindNextElement} "userid" $0 $1

; If can't find the element, skip reading the text
StrCmp $1 "0" 0 +2

; Read this element's text
${xml::GetText} $userid_text $1

${xml::FindCloseElement}
;-----------------------------------------------------------
;-----------------------------------------------------------
; Go to the root xml element
${xml::RootElement} $0 $1

; Initialize text
StrCpy $url_text ""

; find (go to) the element
${xml::FindNextElement} "url" $0 $1

; If can't find the element, skip reading the text
StrCmp $1 "0" 0 +2

; Read this element's text
${xml::GetText} $url_text $1

${xml::FindCloseElement}


Here's the problem - to make sure it works if ELEMENTS are missing, I replaced the "userid" with "unknown". It fails and behaves the way you'd expect. Then I up back "userid" and go to the next section and replace "url" with "unknown"
I get a microsoft error "... has encountered a problem and must close down"

This looks like a bug to me (first section works with missing element, 2nd section doesn't).

Is there something I need to do between each section to avoid this error?

Joel 29th March 2007 17:59

Maybe the xml is bad formatted?

ChrisMorton75 29th March 2007 18:12

An XML editor isn't complaining about it so I have to assume it is OK.

MP_chefkoch 8th April 2008 12:20

Hi i am trying to read an xml file, too.
For me it is working but, many users gets the same error, maybe you can help me to find the issue?

here is the script/code i use:
http://mediaportal.svn.sourceforge.n...sh?view=markup

here are two possible xmls which are read
#1: http://mediaportal.svn.sourceforge.n...ml?view=markup
#2: http://mediaportal.svn.sourceforge.n...ml?view=markup


thx
regards
chefkoch

Instructor 9th April 2008 06:43

code:
StrCmp $1 "0" 0 +2
${xml::GetText} $userid_text $1

${xml::GetText} is a macro you can't use relative jumps over it.

ChrisMorton75 9th April 2008 13:56

Thank you for the explanation about macros and relative jumps. I put labels on my jumps because I couldn't trust the relative jumps but didn't know why!


All times are GMT. The time now is 17:41.

Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.