обработка XML стандарта перекрестного браузера в Сценарии Java

Для меня это поддержка IDEA maven, особенно в 9-й версии. Синхронизация проекта на лету с моделью «на лету» просто фантастическая и делает разработку приятной.

7
задан user88637 28 June 2009 в 10:53
поделиться

5 ответов

use the tutorials at w3schools.com. They indicate how to work with a variety of browsers

e.g. (a snippet)

try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(txt);
  return xmlDoc;
  }
catch(e)
  {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(txt,"text/xml");
  return xmlDoc;
  }

Also, just to answer your direct question. The is a standard way (in the snippet above, it's in the catch block), but internet explorer doesn't support the standard way.... so you're stuck with something like the above

1
ответ дан 7 December 2019 в 01:25
поделиться

Может, вам стоит взглянуть на сариссу . это кроссбраузерная библиотека, которую я считаю очень полезной и простой в использовании. Он позволяет

  • загружать XML из URL-адресов или строк,
  • выполнять преобразования XSLT,
  • применять запросы XPath

Работает в основных браузерах и распространяется под лицензией GPL

6
ответ дан 7 December 2019 в 01:25
поделиться

Другой вариант - использовать стороннюю библиотеку, такую ​​как Google AjaXSLT , чтобы абстрагироваться от кода конкретного браузера. Это означает, что вы можете просто сконцентрироваться на вызове стандартных методов DOM, как определено в спецификации XML. Парсер Google - единственный, с которым я сталкивался лично, поэтому я не уверен, лучший ли он из имеющихся.

2
ответ дан 7 December 2019 в 01:25
поделиться

«Стандартный» способ обработки XML в Javascript - это использование одного или нескольких стандартных или широко доступных API. Наиболее широко для этого используются следующие API:

  • объект DOMParser, позволяет анализировать строку XML в структуру DOM
  • объект XMLSerializer, сериализует структуру DOM в строку XML
  • объект XSLTProcessor, включает обработку XSLT
  • XMLHttpRequest объект для отправки XML по сети

Все упомянутые объекты доступны во всех современных (кроме IE) веб-браузерах. По счастливому случаю, IE также имел реализации этих функций с тех пор (ну, начиная с IE5 или около того), у них просто были разные API. Поскольку упомянутые выше объекты недоступны в IE, их можно было бы реализовать, как и проекты Ample SDK и Sarissa , возможно, и некоторые другие.

Например, посмотрите, как может выглядеть код, который включает кроссбраузерный DOMParser:

if (!window.DOMParser) {
    var cDOMParser = function(){};
    cDOMParser.prototype.baseURI = null;
    cDOMParser.prototype.parseFromString = function(sXml, sMime) {
        var oDocument   = new ActiveXObject("Microsoft.XMLDOM");
        oDocument.async         = false;
        oDocument.validateOnParse   = false;
        oDocument.loadXML(sXml);

        return oDocument;
    };
    window.DOMParser = cDOMParser;
};
1
ответ дан 7 December 2019 в 01:25
поделиться

An easy approach would be to convert the XML to JSON format. (Google "xml to json" for several options.) If possible, I'd recommend converting to JSON on the server side. It's more compact than XML, which translates to faster download times. It's also much less processor-intensive to parse, so it will run faster on the client side.

Note that if you are working with small amounts of XML content, the difference will be negligable.

0
ответ дан 7 December 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: