Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dunick

Meu XSLT nao quer ir, pq??? pq????

Recommended Posts

Oi pessoal, sou novo por aqui e, preciso de um Help de vcs...Eu preciso transformar um XML da seguinte maneira:---> Ele está assim:<documento> <item name='Pais'> <text>Alemanha</text> </item> <item name='Capital'> <text>Berlin</text> </item></documento>---> Gostaria de deixar assim:<documento> <Pais> Alemanha </Pais> <Capital> Berlin </Capital></documento>Parece bem simples mas, isso já me desgatou demais. O problema é que a diferenca entre os itens é só o atributo nome e, nao consigo fazer o XSL enxergar isso. O pior é que o XML de origem é exportado do Notes, nao dá para mudar ele, tenho que trabalhar em cima do jeito que está.Se alguém puder me ajudar...Obrigado!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha cara, você ia ter que reescrever um xml para usá-lo de forma diferente.

eu peguei umas coisas que eu tinha aqui e dei uma adaptada pra mostrar na tela o resultado, claro que você ia ter que criar um documento xml de acordo com a necessidade.

 

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async = false;xmlDoc.load("xml1.xml");xmlObj = xmlDoc.documentElement;document.write("<documento><br />");for(var x = 0; x < xmlObj.childNodes.length; x++){  var atributo = xmlObj.childNodes[x].getAttribute("name");  var valor = xmlObj.childNodes[x].firstChild.firstChild.nodeValue;  if(atributo == "Pais")  {	document.write("  <Pais>");	document.write(valor);	document.write("</Pais><br />");  }  else if(atributo == "Capital")  {	document.write("  <Capital>");	document.write(valor);	document.write("</Capital><br />");  }}document.write("</documento><br />");

se isso você já sabia, explique melhor, só uma dica, xml muito mal estruturado aquele primeiro viu, a primeira coisa que eu faria seria mudar ele pra ficar mais fácil eu trabalhar depois...

quanto a xsl, não sei qual a dúvida, mas aqui tem muita coisa: http://www.w3schools.com/xsl/xsl_languages.asp

qualquer coisa poste ai,flws!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, realmente parece que tá difícil.Creio que ficará melhor se voce usar uma linguagem server-side (tipo php) pra gerar este novo xml.Voce deverá capturar o atributo que voce quer através do getAttribute e criar um novo através do createElement.Eu nunca mexi com DOM e XML no PHP não, talvez os caras de lá possam te ajudar no quesito XML+PHP. SE quiser ir por este caminho, me fala que eu movo o tópico pra lá.PS.: Talvez usando só XSL você consiga ( pode-se capturar o atributo name usando o '@' - "documento/item/@name") mas acho meio difícil. Tentae...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Galera!Acabei partindo para outra solucao...O notes usa um arquivo domino.dtd para gerar o XML dele. Este arquivo é editável, ou seja, nele eu posso colocar "regras" de modo que a XML exportada fique do jeito que eu quiser, dispensando o XSL. É aquela história, se eu sobesse disso antes nao teria perdido tanto tempo...Fica ae a dica para quem desenvolve para Notes e quer exportar XML formatado.Obrigado aos que me ajudaram.Abracos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.