2012-08-22 2 views
1

Я хотел спросить, могу ли я использовать jQuery.parseXML(data) для проверки строки XML?Проверка XML с использованием jQuery.parseXML (data)

Я имею в виду, что я знаю, что он используется для синтаксического анализа XML, и если XML недействителен, я получу сообщение об ошибке, но будет ли функция терпеть неудачу каждый раз, когда в XML будет небольшая ошибка?

Я пробовал поиск по сайту, но все, что я нашел, касается разбора, а не проверки.

Спасибо!

ответ

2

Нет, не через 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 - по крайней мере, с версией Msxml2.DOMDocument 4.0 - так как согласно http://msdn.microsoft.com/en-us/library/aa468547.aspx#beginner_failure, «синтаксический анализатор 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.

+0

+1. Спасибо за разработанный ответ и все ссылки, которые вы предоставили. Я не использую этот XML, я просто проверяю XML, который мы получаем от одного из поставщиков услуг. – Kuf