Недавно XML использовался в проекте. Требование заключается в том, что когда пользователи устанавливают продукт, они сначала сохраняют серию данных в файл XML и записывают его в базу данных при выполнении последнего шага. Это сводит к минимуму доступ к базе данных, поэтому им нужно беспокоиться о совместимости каждого браузера (SAD ...)
Введите основной текст и является файлом XML (createinstal.xml)
<?xml version="1.0" encoding="utf-8"?><info><Item><id description="level" name="1" f_chines="number" t_chines="" english="id" value="1">number</id><levelname description="level" name="" f_chines="level name" t_chines="name" english="Level-Name" value="Level-1">level Имя </levelname> <declition description = "level" name = "" f_chines = "description" entery = "valy-description" = "level"> Описание </снижение> <tchines description = "level" = "" f_chines = "Традиционные китайцы" t_chines = "традиционное китайское" английское = "t-chinese" value = "1"> традиционные китайцы "thichines =" trading китайский "englise =" t-c-value = "1"> «Традиционные китайцы </tchines =" trady "value =" value = "1" "</tchines </tchines </tchines </tchines </tchines </tchines </tchines>" " f_chines = "Английское имя" t_chines = "английское имя" английское = "английское" value = "daynoone"> английское имя </jorning> <6 description = "награда" name = "106" f_chines = "Награда" t_chines = "Six" English = "worda-of" value = "a"/> <Award eleven description = "Award" = "111" F_CHINE English = "11" Value = "0,05"/> <Награда Eleven Description = "Award" name = "112" f_chines = "Award Eleven" T_Chines = "Award" name = "112" f_chines = "Award Eleven" T_Chines = "Award" name = "113" f_chines = "Award Eleven" T_CHINE Описание = "Награда" name = "101" f_chines = "Award One" T_Chines = "One" English = "avord-of-A" Value = "0,90"/> </item> </info>
Чтобы быть совместимым с IE и FF, напишите следующие функции (LOADXML.JS):
var is_ie = false; // это браузер IE IE if (window.activexObject) {is_ie = true;} // загружать много-браузер-совместимый document.implementation.createdocument ("", ",", null);} catch (e) {alert (e.message);}} try {// изменять асинхронную нагрузку xmldoc.async = false; xmldoc.load (xmlurl); return xmldoc;} catch (e) {alert (e.mess); Строка в формате документа XML к функции документа xml createxml (xmltext) {if (! xmltext) {returnnull; try {var xmldocm = new activexobject ("microsoft.xmldom"); xmldocm.loadxml (xmltext); return xmldoc; Domparse (). ParsefromString (xmlText, "text/xml");} catch (e) {returnnull;}}}} // Получить текст узла и его функцию детей getxmltext (onode) {if (onode.text) {// iereturn onode.tex;} var stext = "; onode.childnodes.length; stext;} // Получить идентификацию строки узла и функции его детских узлов getXml (onode) {if (onode.xml) {// iereturn onode.xml;} var serializer = new XmlSerializ onode.childnodes [0] .nodevalue для получения текстовой информации узла, так что вам не нужно рассматривать проблему браузера Onodeonode) getxmlnextext (onode) {if (is_ie) {return onode.text;} else {if (onode.nodetype == 1) return onode.text Функция узла getxmlnodeattribute (onode, attrname) {if (is_ie) {return onode.getattribute (attrname);} else {if (onode.nodetype == 1 || onode.nodetype == "1") return onode.attributes [attrname].OK IE и FF больше не являются проблемами, конкретные методы работы следующие:
var docum = loadxml ("createInstal.xml"); // Загрузить файл xml var root = document.documentelement; // root node var nodelist = root.getelementsbytagname ("элементы"); для (var i = 0; i <nodelist [0] .childnodes.length; i ++) {var attr =. getXmlNoDeatTribute (Nodelist [0] .ChildNodes [i], «Описание»); // Получить атрибут описания этого узла if (attr! }}Это обеспечит совместимость между IE и FF (в настоящее время Google Chrome не может использовать этот метод для совместимости, и он еще должен быть изменен)
Кроме того, давайте поговорим о двух способах получить XML в Firefox:
JS читать XML -файлы в Firefox
Я долго искал метод чтения XML -файлов xml в Firefox », и многие из них были спросили, и никто не ответил. Я видел кучу программистов, жалующихся на Firefox: «Нет выгоды, кроме как выхлопных программистов». Я вернулся к делу. Firefox не поддерживает ActivexObject объекты в IE. Чтобы получить XML DOM, есть два способа:
1. Document.Implementation.createdocument ("" "," ", NULL);
2. window.xmlhttprequest
Пример: 1. Var dom = document.implementation.createdocument ("", "", null);
dom.async = false;
dom.load ("test.xml"); // dom - объект XML.
2. var oxmlhttp = new xmlhttprequest ();
oxmlhttp.open ("get", "test.xml", false);
oxmlhttp.send (null);
//oxmlhttp.responsexml - это объект XML.
Уведомление:
1. Firefox PaneSes XML Documents
2. Браузер Firefox и я используем TextContent для анализа значений различных узлов XML.
3. и это добавит линии "/N" разрывается до и после некоторых иерархических детских узлов (то есть при использовании детей). (Я не знаю, почему это так при отладке с Firebug, поэтому лучше протестировать код, который я написал. Если неправильно изменять среду), то есть первый узел «/n», а второй узел - настоящий
Первый узел. Третий узел - «/n», а четвертый узел - настоящий второй узел.
Согласно вышеуказанной ситуации с Firefox, у меня здесь есть пример, чтобы не использовать детские и достигать совместимости: нажмите, чтобы ввести
Выше приведено метод реализации файлов xml операции JS, представленные вам редактором, который совместим со всем содержимым IE и Firefox. Я надеюсь, что все поддерживают wulin.com больше ~