dmlogv
@dmlogv
Универсальный человек

JQuery не загружает XML?

Крайне простая задача: загрузить XML, вытащить, что надо, воткнуть в HTML. Насколько я понимаю, эксэмэл загрузился, но парситься не желает. Почему? (Сильно не ругайтесь, мануалы по jQuery открыл вчера).



index.html

<!doctype html><br>
<html><br>
<head><br>
	<title></title><br>
</head><br>
<body><br>
	<div id="TestArea"><br>
	</div><br>
</body><br>
<script src=jquery.js></script><br>
<script src=script.js></script><br>
</html><br>




script.js

$(document).ready(function(){                        <br>
      $.get("test.xml",{},function(xml){<br>
            $(xml).find("question").each(function(){<br>
					$("#TestArea").html("<h3>" +$(this).text()+ "</h3>");<br>
				});<br>
		},"xml");<br>
});<br>




<?xml version="1.0" encoding="utf-8" ?><br>
<test><br>
	<header><br>
		<name>Testing test</name><br>
		<description>We are testing tested test</description><br>
		<version>v0.000001</version><br>
		<author>DmitryAnatolich</author><br>
	</header><br>
<br>
	<area><br>
		<quiz type="radio"><br>
			<question>q1</question><br>
			<answers><br>
				<answer right="true" grade=1>a1-1</answer><br>
				<answer>a1-2</answer><br>
				<answer>a1-3</answer><br>
				<answer>a1-4</answer><br>
			</answers><br>
		</quiz><br>
		<br>
		<quiz type="checkbox"><br>
			<question>q2</question><br>
			<answers><br>
				<answer right="true" grade=1>a1-1</answer><br>
				<answer>a1-2</answer><br>
				<answer right="true" grade=2>a1-3</answer><br>
				<answer>a1-4</answer><br>
			</answers><br>
		</quiz><br>
<br>
		<quiz type="text"><br>
			<question>q3</question><br>
			<answers><br>
				<answer right="true" grade=3>a1-1</answer><br>
				<answer right="true" grade=3>a1-3</answer><br>
			</answers><br>
		</quiz><br>
		<br>
	</area><br>
	<br>
</test><br>
  • Вопрос задан
  • 3112 просмотров
Пригласить эксперта
Ответы на вопрос 2
@PomanoB
Во первых у Вас XML не валидный, grade=1 значение должно быть в кавычках, grade=«1», и так везде с grade
Во вторых
$("#TestArea").html("<h3>" +$(this).text()+ "</h3>");
это запишет только последний вопрос, насколько я понимаю, надо добавлять текст, а не перезаписывать
Ответ написан
Комментировать
dmlogv
@dmlogv Автор вопроса
Универсальный человек
Спасибо, действительно, дело было в валидности. Насчет второго был в курсе — цель была вывести хоть что-нибудь. А у jQuery нет вывода отладочных сообщений или ошибок (хотя бы в данном случае)?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы