Проверка XML с использованием jQuery.parseXML(данные)
Я хотел спросить, могу ли я использовать jQuery.parseXML(данные) для проверки строки XML?
Я имею в виду, я знаю, что он используется для анализа XML, и если XML недействителен, я получу сообщение об ошибке, но произойдет ли сбой функции каждый раз, когда в XML будет даже небольшая ошибка?
Я пытался найти это в поиске, но все, что я нашел, касается анализа, а не проверки.
Спасибо!
1 ответ
Нет, не через jQuery (по крайней мере, не в Mozilla и, скорее всего, в других браузерах, отличных от IE).
В случае IE это указано по адресу http://msdn.microsoft.com/en-us/library/windows/desktop/ms754585%28v=vs.85%29.aspx, с loadXML: "Вы не можете использовать его проверить документ XML по схеме.", поэтому, очевидно, код, используемый в jQuery по адресу http://code.jquery.com/jquery-latest.js также не будет проверяться.
Однако, некоторый код на http://www.stylusstudio.com/xsllist/200301/post50460.html видимому, предполагает, что это возможно в IE (только) с правильным IE- по крайней мере, с версией 4.0 Msxml2.DOMDocument -- так как в соответствии с http://msdn.microsoft.com/en-us/library/aa468547.aspx, "синтаксический анализатор MSXML будет проверять ваш документ на соответствие DTD или схеме, если в документе был указан какой-либо из них" (если Свойство validateOnParse имеет значение false).
Тем не менее, с Mozilla и другими браузерами, они не выполняют проверку (я думал, что они загрузили внешние DTD в случае DOMParser() Ajax, но сейчас это не работает для меня, и в любом случае, даже сущности не загружаются на обычных сайтах).
Я не помню, поддерживает ли http://code.google.com/p/jssaxparser/ или http://debeissat.nicolas.free.fr/relaxng.php внешнюю проверку, но я думаю, что вам нужно пойти в этом направлении.
Вам нужно использовать XML? Возможно, JSONSchema может удовлетворить ваши потребности? http://json-schema.org/implementations.html.