Предположим, что ваш xml выглядит примерно так (поскольку вы его не публиковали) (обратите внимание на регистр символов в тегах)
<?xml version="1.0" encoding="ISO-8859-1"?>
<questionlist>
<Question ID='0'>
<BODY>
Are you 1?
</BODY>
</Question>
<Question ID='1'>
<BODY>
Are you 2?
</BODY>
</Question>
<Question ID='2'>
<BODY>
Are you 3?
</BODY>
</Question>
<Question ID='3'>
<BODY>
Are you 4?
</BODY>
</Question>
<Question ID='4'>
<BODY>
Are you 5?
</BODY>
</Question>
<Question ID='5'>
<BODY>
Are you 6?
</BODY>
</Question>
<Question ID='6'>
<BODY>
Are you 7?
</BODY>
</Question>
</questionlist>
Тогда вы можете использовать эту модифицированную версию вашего кода ...
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript">
function GetQuestion() {
$.ajax({
type: "GET",
url: "questions.xml",
dataType: "xml",
success: function(xml) {
x = 0;
x = $(xml).find('Question').length;
var questionID = Math.floor(Math.random() * x);
$(xml).find('Question').each(function(){
if($(this).attr('ID') == questionID) {
var text = $(this).find('BODY').text();
$('#questionBody').html(text);
}
}); //close each
} //close success
});//close ajax
}; //close function GetQuestion
$(document).ready(function(){
GetQuestion();
});
</script>
</head>
<body>
<div id="questionBody"></div>
</body>
</html>
Я изменил метод $ .random, у меня не было этого метода, поэтому я использовал обычный JS, я изменил this.ID, чтобы использовать селектор jquery для проверки атрибута id, и я изменил вашу строку innerHTML, чтобы использовать функция jquery html (). Единственная проблема с кодом заключается в том, что вы полагаетесь на то, что у вас будут вопросы с идентификаторами n-1 записей ...