Manipulação de XML
04/03/2010
0
olá pessoal,
minha duvida é o seguinte:
tenho que carregar um arquivo xml assim:
<?xml version="1.0" encoding="UTF-8"?>
<dados_envio_coleta xmlns="http://www.xxx.com/DadosEnvioColeta.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.xxx.com/DadosEnvioColeta.xsd">
<dados_chamado>
<numero>00000001</numero>
<data_abertura>2001-12-17T09:30:47.0Z</data_abertura>
</dados_chamado>
</dados_envio_coleta>
preciso criar um novo xml sem os atributos: xmlns, xmlns:xsi, xsi:schemaLocation, ou seja, o elemento: dados_envio_coleta deve estar sem atributo nenhum
o novo xml deve ficar assim:
<?xml version="1.0" encoding="UTF-8"?>
<dados_envio_coleta>
<dados_chamado>
<numero>00000001</numero>
<data_abertura>2001-12-17T09:30:47.0Z</data_abertura>
</dados_chamado>
</dados_envio_coleta>
como posso criar uma rotina pra fazer isso???
minha duvida é o seguinte:
tenho que carregar um arquivo xml assim:
<?xml version="1.0" encoding="UTF-8"?>
<dados_envio_coleta xmlns="http://www.xxx.com/DadosEnvioColeta.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.xxx.com/DadosEnvioColeta.xsd">
<dados_chamado>
<numero>00000001</numero>
<data_abertura>2001-12-17T09:30:47.0Z</data_abertura>
</dados_chamado>
</dados_envio_coleta>
preciso criar um novo xml sem os atributos: xmlns, xmlns:xsi, xsi:schemaLocation, ou seja, o elemento: dados_envio_coleta deve estar sem atributo nenhum
o novo xml deve ficar assim:
<?xml version="1.0" encoding="UTF-8"?>
<dados_envio_coleta>
<dados_chamado>
<numero>00000001</numero>
<data_abertura>2001-12-17T09:30:47.0Z</data_abertura>
</dados_chamado>
</dados_envio_coleta>
como posso criar uma rotina pra fazer isso???
Fabiano Góes
Curtir tópico
+ 0
Responder
Posts
05/03/2010
Marcio Silveira
Na verdade, pelo que entendi, é melhor você fazer um programa para abrir o arquivo xml e ler ele linha a linha para criar o seu novo arquivo, tipo assim:
try
{
//Criar o leitor do Stream, não se esqueça de importar o System.IO (using System.IO;)
StreamReader reader = new StreamReader(nomeArquivo); // Deve conter o caminho completo
// Criar o "escritor"
StreamWriter writer = new StreamWriter(nomeArquivoSaida);
string linha = "";
// Faça um laço para ler até que este encontre o final do arquivo.
while (!reader.EndOfStream)
{
// Neste exemplo optei por ler uma linha por vez
linha = reader.ReadLine();
// Mas você pode ler :
// reader.ReadBlock() - Ler o arquivo inteiro de uma vez se sempre estiver procurando a mesma coisa
// isso resolvez
// entre outros tipos de leitura.
if (linha.Contains("texto"))
linha = "outro texto"
writer.WriteLine(linha);
}
// Não se esqueça de fechar leitor/escritor (caso contrário o arquivo continuará aberto na memória).
reader.Close();
writer.Close();
}
catch (Exception erro)
{
MessageBox.Show(erro.Message);
}
try
{
//Criar o leitor do Stream, não se esqueça de importar o System.IO (using System.IO;)
StreamReader reader = new StreamReader(nomeArquivo); // Deve conter o caminho completo
// Criar o "escritor"
StreamWriter writer = new StreamWriter(nomeArquivoSaida);
string linha = "";
// Faça um laço para ler até que este encontre o final do arquivo.
while (!reader.EndOfStream)
{
// Neste exemplo optei por ler uma linha por vez
linha = reader.ReadLine();
// Mas você pode ler :
// reader.ReadBlock() - Ler o arquivo inteiro de uma vez se sempre estiver procurando a mesma coisa
// isso resolvez
// entre outros tipos de leitura.
if (linha.Contains("texto"))
linha = "outro texto"
writer.WriteLine(linha);
}
// Não se esqueça de fechar leitor/escritor (caso contrário o arquivo continuará aberto na memória).
reader.Close();
writer.Close();
}
catch (Exception erro)
{
MessageBox.Show(erro.Message);
}
Responder
Clique aqui para fazer login e interagir na Comunidade :)