DESSERIALIZANDO - XML - CLASSES
Bom dia KERPLUNK.
Segue um xml que tambem nao estou conseguindo desserializar,
Obrigado.
Segue um xml que tambem nao estou conseguindo desserializar,
Obrigado.
Ok, os dois me mandaram um XML meio esquisito, geralmente não é assim que estão as NFe que eu vejo, mas enfim. Precisa de uma pequena alteração, na verdade, adição de algumas classes. Conforme abaixo:
Está em C#, mas não devem ter problemas para fazer as conversões. Podem colocar no mesmo assembly que já passei. Para desserializar, façam:
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute([Ô]nfeProc[Ô], Namespace = [Ô]http://www.portalfiscal.inf.br/nfe[Ô], IsNullable = false)]
public class nfeProc
{
public TNFe NFe { get; set; }
public protNFe ProtNFe { get; set; }
}
/// <remarks/>
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute([Ô]protNFe[Ô], Namespace = [Ô]http://www.portalfiscal.inf.br/nfe[Ô], IsNullable = false)]
public partial class protNFe
{
private protNFeInfProt infProtField;
private decimal versaoField;
/// <remarks/>
public protNFeInfProt infProt
{
get
{
return this.infProtField;
}
set
{
this.infProtField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal versao
{
get
{
return this.versaoField;
}
set
{
this.versaoField = value;
}
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])]
public partial class protNFeInfProt
{
private byte tpAmbField;
private string verAplicField;
private string chNFeField;
private System.DateTime dhRecbtoField;
private ulong nProtField;
private string digValField;
private byte cStatField;
private string xMotivoField;
private string idField;
/// <remarks/>
public byte tpAmb
{
get
{
return this.tpAmbField;
}
set
{
this.tpAmbField = value;
}
}
/// <remarks/>
public string verAplic
{
get
{
return this.verAplicField;
}
set
{
this.verAplicField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType = [Ô]integer[Ô])]
public string chNFe
{
get
{
return this.chNFeField;
}
set
{
this.chNFeField = value;
}
}
/// <remarks/>
public System.DateTime dhRecbto
{
get
{
return this.dhRecbtoField;
}
set
{
this.dhRecbtoField = value;
}
}
/// <remarks/>
public ulong nProt
{
get
{
return this.nProtField;
}
set
{
this.nProtField = value;
}
}
/// <remarks/>
public string digVal
{
get
{
return this.digValField;
}
set
{
this.digValField = value;
}
}
/// <remarks/>
public byte cStat
{
get
{
return this.cStatField;
}
set
{
this.cStatField = value;
}
}
/// <remarks/>
public string xMotivo
{
get
{
return this.xMotivoField;
}
set
{
this.xMotivoField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Id
{
get
{
return this.idField;
}
set
{
this.idField = value;
}
}
}
Está em C#, mas não devem ter problemas para fazer as conversões. Podem colocar no mesmo assembly que já passei. Para desserializar, façam:
XmlSerializer serializer = new XmlSerializer(typeof(nfeProc));
nfeProc resultingMessage = (nfeProc)serializer.Deserialize(new XmlTextReader([Ô]D:\\PASTA\\ARQUIVO.xml[Ô]));
KERPLUNK
Funcionou.
Obrigado.
Funcionou.
Obrigado.
De nada... Mas seria legal pra mim se pudesse assistir alguns vÃdeos do meu canal e deixar seu like... isso me ajudaria bastante!
JADSONSISTENS, essa adaptação vai funcionar também para o arquivo XML que você me mandou em privado.
Citação::
JADSONSISTENS, essa adaptação vai funcionar também para o arquivo XML que você me mandou em privado.
Boa noite Kerplunk, tava sem tempo hoje. Agora que estou vendo as mensagens.
vou fazer amanha bem cedo, essa adaptação
Citação:De nada... Mas seria legal pra mim se pudesse assistir alguns vÃdeos do meu canal e deixar seu like... isso me ajudaria bastante!
Boa tarde Kerplunk, assisto seu canal, e mostrei para meu filho (16 anos) que esta interessado em aprender a programar.
Muito bom.
Faça seu login para responder