![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries [Thread Prev] >Thread Next - Re: Help with an XPATH query Help with an XPATH queryTo: NULL Date: 1/4/2007 8:27:00 AM
I'm building a little quiz application, the xml document that generates the
quiz has questions with the following basic structure:
<question>
<theText>What is the capitol of the world?</theText>
<response correct="no">London</response>
<response correct="yes">None</response>
<response correct="no">New York</response>
<feedbackCorrect>Good Job!</feedbackCorrect>
<feedbackIncorrect>You are silly!</feedbackIncorrect>
<hint>There IS no capitol of the World!</hint>
<directionsHome>Click on the link to return home, goofball.</directionsHome>
</question>
In JavaScript, I'm trying to build a multidimensional array holding all the
questions and their various parts. Everything is fine, except I can't figure
out how to load the 3 "responses". My 2 statements below work fine if the
first 2 "response" nodes have the @correct set to "no". However, I'd LIKE it
to work so they select the 2 "response" nodes with the @correct attribute set
to "no", regardless of the order the "response" nodes are in (for example,
the "question" node above, where the second "response" node has the @correct
attribute set to "yes".
questionsArray[i][z]["theFirstWrongResponse"]=
questionNodes.item(z).selectSingleNode("response[1][@correct='no']");
questionsArray[i][z]["theSecondWrongResponse"]=
questionNodes.item(z).selectSingleNode("response[2][@correct='no']");
I understand WHY the above 2 don't work, and I realize I could easily fix
the problem by either requiring that the XML be structured such that the
first 2 "responses" are always "incorrect" nodes and the third holds the
correct answer; or by restructuring the XML to use something like
"wrongResponse1", "wrongResponse2", and "rightResponse" as my node names, but
in the interest of learning something new, I'd like to see if there is an
XPATH expression that can do what I'm trying to do??????
Thanks! - Mike D.
| ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
