Recentemente, o XML foi usado no projeto. O requisito é que, quando os usuários instalam o produto, eles primeiro salvam uma série de dados no arquivo XML e o escrevem no banco de dados quando a última etapa for executada. Isso minimiza o acesso ao banco de dados, então eles precisam se preocupar com a compatibilidade de cada navegador (triste ...)
Digite o texto principal e é um arquivo 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 name</levelname><decrption description="Level" name="" f_chines="Level-Description" english="Level-Description" value="Level">Description</decrption><Tchines description="Level" name="" f_chines="Traditional Chinese" t_chines="Traditional Chinese" english="T-Chinese" value="1">Traditional Chinese</Tchines><english description="Level" name="" f_chines="English name" t_chines="English name" english="English" value="LevelOne">English name</english><6 description="Award" name="106" f_chines="Award" t_chines="Six" english="Worda-of-t" value="a"/><Award eleven description="Award" name="111" f_chines="Award eleven" t_chines="Eleven" inglês = "11" value = "0,05"/> <prêmio Eleven description = "prêmio" name = "112" f_chines = "prêmio Eleven" t_chines = "prêmio" name = "112" f_chines = "premile enaven" t_chines = "prêmio" "113" f_chines = "" premie "" t_chines = "" name = "113" f_chines = "" " Descrição = "prêmio" nome = "101" f_chines = "prêmio um" t_chines = "um" inglês = "aword-of-a" value = "0,90"/> </item> </info>
Para ser compatível com o IE e FF, escreva as seguintes funções (loadxml.js):
var is_ie = false; // é um navegador do IE se (window.activexObject) {is_ie = true;} // Carregar a função de documento XML compatível com múltiplos navegadores XML (xmlurl) {var xmldoc = null; try {xmldoc = new ActiveXObject ("Microsoft.xmldom; document.implementation.createCument ("", "", null);} catch (e) {alert (e.message);}} tente {// altere a carga assíncrona de xmldoc.aMMC.Amnct; String no formato de documento XML para XML Função Createxml (xmlText) {if (! XmlText) {returnNull; Try {var xmldocm = new ActiveXObject ("Microsoft.xmldom"); Xmldocm.loadxml (xmltext); retorno xmldocm; Domparse (). Parsefromstring (xmltext, "text/xml");} catch (e) {returnNull;}}}} // obtenha o texto do nó e seus filhos funcionam getXmltext (onode) {if (onodext) {// iereturn anchone.tex; Onode.childnodes.length; stext;} // Obtenha a identificação da string do nó e os nós de seus filhos da função getxml (onodo) {if (oodo.xml) {// iereTurn Onode.xml;} var Serializer = new XmlSerializer (); retornar o serializador do texto (ancodo); Onode.ChildNodes [0] .NodEvalue para obter as informações de texto do nó, para que você não precise considerar o problema do problema do navegador) função getxmlnodeText (onode) {if (is_ie) {return oode.text;} else {if (oNOTy.nodEType == 1) {Return oth.text; Função do nó getxmlnodeAttribute (onode, attName) {if (is_ie) {return oodo.getAttribute (attName);} else {if (onode.nodeType == 1 || oncode.nodeType == "1") return.attributes [Atrname] .Vorned;Ok, ou seja, o FF não são mais problemas, os métodos de operação específicos são os seguintes:
var docum = loadxml ("createInstal.xml"); // Carregar um arquivo xml var root = document.documentElement; // nó root var n NodElist = root.getElementsByTagName ("itens"); para (var i = 0; i <nodelist [0] .ChildNodes.luct; getxmlnodeAttribute (nodelist [0] .childnodes [i], "descrição"); // obtenha o atributo Descrição deste nó if (att! = "indefinido") // O objetivo deve ser compatível com o navegador FF {alert (att); }}Isso garantirá a compatibilidade entre o IE e o FF (atualmente, o Google Chrome não pode usar esse método para ser compatível e ainda deve ser modificado)
Além disso, vamos falar sobre duas maneiras de obter o XML no Firefox:
JS leia arquivos XML no Firefox
Eu procurei o método de "JS lendo arquivos XML no Firefox" on -line por um longo tempo, e muitos deles foram solicitados e ninguém respondeu. Vi um monte de programadores reclamando de Firefox: "Não há benefício, exceto os programadores de escape". Voltei ao ponto. O Firefox não suporta objetos ActiveXObject no IE. Para obter um XML DOM, há duas maneiras de:
1.
2. Window.xmlHttPrequest
Exemplo: 1. Var domin = document.implementation.createDocument ("", "", null);
dom.async = false;
dom.load ("test.xml"); // dom é um objeto XML.
2. Var oxmlHttp = novo xmlHttPrequest ();
oxmlhttp.open ("get", "test.xml", false);
oxmlHttp.send (nulo);
//oxmlHttp.Responsexml é um objeto XML.
Perceber:
1. Firefox analisa documentos XML
2. Firefox Browser e eu uso o TextContent para analisar os valores de diferentes nós de XML.
3. E adicionará quebras de linha "/n" antes e depois de alguns nós da criança hierárquica (ou seja, ao usar Childnodes). (Não sei por que esse é o caso ao depurar com o Firebug, por isso é melhor testar o código que escrevi. Se for errado mudar o ambiente), ou seja, o primeiro nó é "/n", e o segundo nó é o real
O primeiro nó. O terceiro nó é "/n" e o quarto nó é o segundo nó real.
De acordo com a situação do Firefox acima, tenho um exemplo aqui para evitar o uso de ChildNodes e alcançar a compatibilidade: clique para entrar
O acima é o método de implementação dos arquivos XML de operação JS trazidos a você pelo editor, que é compatível com todo o conteúdo do IE e do Firefox. Espero que todos apoiem o wulin.com mais ~