Ir para conteúdo

POWERED BY:

Arquivado

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

panetony

aspas dupla

Recommended Posts

pessoal.

boa tarde...

 

preciso deixar um xml com " ao invés de "

o problema é que nao esta aceditando... qdo eu abro o código do xml está "

na exibição do xml, tudo bem... tem que aparecer " mas no código nao... no codigo tem que aparecer "

 

alguem pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

to colocando o código abaixo...

 

veja só... se eu exibo o xml, ou seja, mostro os valores, abrindo-o por exemplo no IE, FF, etc, o xml é mostrado sem erros e como deve ser... ou seja... mostra: teste de aspas dupla no xml " .... beleza...

 

mas se eu abro o código do XML, mostra a mesma coisa, ou seja, mostra: teste de aspas dupla no xml "

sendo que ao abrir o código eu preciso quer seja mostrado como foi criado o texto, ou seja, tem que mostrar: testes de aspas dupla no xml "

 

resumindo... as aspas dupla no código do xml está aparecendo como " sendo que eu preciso que apareça "

 


   $montaxml = "";

   $montaxml = $montaxml . "<?xml version='1.0' encoding='UTF-8' ?>" . "\n";

   $montaxml = $montaxml . "<root>" . "\n";

     $montaxml = $montaxml . "<nodeteste>" . "\n";

       $montaxml = $montaxml  . "<aspas>" . 'testes de aspas dupla no xml ' . '"' .  "</aspas>" . "\n";

     $montaxml = $montaxml . "</nodeteste>" . "\n";

   $montaxml = $montaxml . "</root>" . "\n";

   $XML = new DOMDocument ();
   $XML -> loadXML ($montaxml);

   $XML -> save('testeaspasdupla.xml');

   echo $XML -> saveXML ();

 

 

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o str_replace do PHP que ele substitui pra você.

 

veja um exemplo...

<?php
 // texto que contem aspas
 $frase = 'minha frase com "aspas"';
 // aqui ele vai trocar o simbolo de aspas normal, pela sua entidade
 $troca = str_replace('"', '"', $frase);
 echo $troca;
?>

 

depois de executar esse código, abre o html do browser dando um Ctrl+U e tu vai ver que funcionou certinho

espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok...

mas o problema é no xml...

 

se eu colocar por exemplo um str_replace, e mostrar na tela, funciona corretamente, ou seja, a aspas dupla é substituida por "

 

mas qdo coloco isso no xml, nao da certo...

 

outro detalhe q pode ajudar... qdo se coloco & o xml grava &

se coloco < o xml grava <

 

mas o " o xml grava " e preciso que grave "

Compartilhar este post


Link para o post
Compartilhar em outros sites

não... pq o cdata o xml não vai interpretar...

 

se eu fizer um xml na mao mesmo, pelo bloco de notas

<?xml version="1.0" encoding="UTF-8"?>]
<root>

 <node>
  "
 </node

</root>

 

qdo abir o xml no browser, aparecerá " é isso que quero.

porem eu nao coloquei " no xml... coloquei "

 

nao to coneguindo entender pq & < > funcionam corretamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você usar a função htmlspecialchars como eu recomendei que fizesse no post #5 funciona.

 

A saída será essa:

 

<?xml version="1.0" encoding="UTF-8"?>
<root>
<node>&quot</node>
</root>

 

Usei:

 

<?php
echo htmlspecialchars('&quot');
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

preciso deixar um xml com " ao invés de "

o problema é que nao esta aceditando... qdo eu abro o código do xml está "

 

Com sua afirmação eu entendi que estava mostrando como " e você queria que ficasse como ".

 

Bom, você tem que entender como deve ficar pra que funcione como você quer.

 

Se você quiser que quando o XML for processado interprete como ", você deve deixar como ".

 

Já, se você quiser que seja interpretado como " você deve usar & amp;quot;. Eu dei um espaço depois do & pro fórum não interpretar errado.

 

Eu testei as duas situações aqui e funcionou perfeitamente.

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Leozitho

Acho que o que o panetony quer é o seguinte:

 

Mostrar na tela:

testes de aspas dupla no xml "

E o código xml gerado seja:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<nodeteste>
<aspas>testes de aspas dupla no xml "</aspas>
</nodeteste>
</root>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha só...

 

o que eu preciso é exatamente o que o Kratos Zohr disse...

 

preciso montar o xml da seguinte maneira...

 

<?xml version="1.0" encoding="UTF-8"?>
<root>
<nodeteste>
<aspas>testes de aspas dupla no xml "</aspas>
</nodeteste>
</root>

 

montando como assima, o que ira aparecer na tela do browser é: testes de aspas dupla no xml "

 

porem eu nao estou conseguindo montar o xml como acima... pq?! pq qdo eu coloco o " e salvo o xml, o xml fica como " ou seja... como abaixo

 

<?xml version="1.0" encoding="UTF-8"?>
<root>
<nodeteste>
<aspas>testes de aspas dupla no xml "</aspas>
</nodeteste>
</root>

Compartilhar este post


Link para o post
Compartilhar em outros sites

porem eu nao estou conseguindo montar o xml como acima... pq?! pq qdo eu coloco o " e salvo o xml, o xml fica como " ou seja... como abaixo

 

Porque aspas não é um caractere aceito pelo XML. Você deve usar o " ou uma sessão CDATA.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok...

e como eu coloco no xml " ?!

sem cdata ?!?!

 

foi o que você disse no post anterior... ou eu uso cdata ou eu coloco "

 

como eu faço " ?!?!?!?!

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.