ALTERACAO XML

JEFFERMARTINS 16/06/2011 13:22:09
#376974
Boa Tarde!
Galera, preciso de uma ajuda urgente....

Trabalho em uma contabilidade e temos que realizar a importação de NFe (arquivos XML), contudo, antes de importar temos que fazer uma alteração nos Campos de CFOP. é possivel criar uma rotina De/ Para, que leia todos os arquivos de uma pasta e faça a alteração:
Ex: Alterar o CFOP 6102 para 2102.


Vlw
KERPLUNK 16/06/2011 13:35:52
#376977
Resposta escolhida
Se vc controla a importação do arquivo, vc pode fazer essa alteração muito facilmente. Todavia, se não tiver esse controle, a coisa complica. Não conheço nenhum programinha que faça isso especificamente, mas nada impede de se criar um com relativa facilidade
JEFFERMARTINS 16/06/2011 13:38:43
#376978
Olá.
Então, utilizando o sistema de importação, é possivel alterar. Contudo, a alteração tem que ser feito Nota a Nota.
Gostaria de criar uma aplicação que Leia os arquivos de uma determinada pasta e faça a alteração em todos.

Mais sou leigo no assunto, consegue me ajudar?
JEFFERMARTINS 16/06/2011 13:48:45
#376983
Algum tempo atras, o pessoal do forum me ajudou a fazer uma rotina que exclui determinadas linhas de um arquivo TXT, é possivel altera-lo para ler e modificar o Xml?
Imports System.Text
Imports System.IO



Public Class Form1

[ô][ô][ô] <summary>
[ô][ô][ô] Define o local onde estão os arquivos contendo as frases desnecessárias
[ô][ô][ô] </summary>
Private Local As String = ([Ô]C:\Arquivos    este.txt[Ô])

Private Sub btnLimparArquivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimparArquivo.Click
ExluirLinha(Local)
End Sub

[ô][ô][ô] <summary>
[ô][ô][ô] Exclui uma liha especifica de um arquivo de texto
[ô][ô][ô] </summary>
[ô][ô][ô]<param name=[Ô]pArquivo[Ô]>Arquivo de texto</param>
Private Sub ExluirLinha(ByVal pArquivo As String)
Dim Arquivo As StreamWriter
Dim Linhas As New List(Of String)

Using SR As New StreamReader(pArquivo)
Linhas.AddRange(System.IO.File.ReadAllLines(pArquivo.ToString))
SR.Dispose()
SR.Close()
End Using

Arquivo = New StreamWriter(pArquivo)
For Each Linha As String In Linhas.ToArray
If Not PodeApagar(Linha) Then
Arquivo.WriteLine(Linha)
End If
Next
Arquivo.Close()
End Sub

[ô][ô][ô] <summary>
[ô][ô][ô] Verifica se existe algumas palavras especificas no texto
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]pTexto[Ô]>Texto</param>
[ô][ô][ô] <returns><c>True</c> se existir alguma dessas palavras especificas</returns>
Protected Function PodeApagar(ByVal pTexto As String) As Boolean
Dim Palavras() As String = Split(pTexto, [Ô] [Ô])
For Contador As Integer = 0 To UBound(Palavras)
If Palavras(Contador) = [Ô]T0099[Ô] Or Palavras(Contador) = [Ô]T0216[Ô] Then
Return True
End If
Next
Return False
End Function


End Class
Tópico encerrado , respostas não são mais permitidas