Witam,
Chciałem się dowiedzieć, jak mogę zapisać dane bądź też odczytać z API w WCFie.
Dostałem się do serwisu GUS poprzez udostępniony serwis.
Jestem w stanie pobrać niektóre dane, gdy zwracane są jako obiekty poprzez foreacha.
Chciałem sformatować dane pobierane z serwisu np. w XMLu i je zapisać, bądź też bezpośrednio odczytać (np. wysłać na konsolę).
Dotej pory udało mi się wyprodukować coś takiego:
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream(@"D:\example.txt", FileMode.Create, FileAccess.Write);
formatter.Serialize(stream, slownikRodzajowSimc);
stream.Close();
Zapisuje dane (wstawia trochę krzaczków), ale nie jest to dobra forma, gdyż plik jest nieczytelny, przydałoby się utworzyć np XMLa.
Druga sprawa, jest taka, że potrzebuję pobrać, bądź odczytać plik *.zip z API
Classa zwracająca archiwum zip z API przedstawia się następująco:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="PlikKatalog", Namespace="http://schemas.datacontract.org/2004/07/TerytUslugaWs1")]
[System.SerializableAttribute()]
public partial class PlikKatalog : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string nazwa_plikuField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string opisField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string plik_zawartoscField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public string nazwa_pliku {
get {
return this.nazwa_plikuField;
}
set {
if ((object.ReferenceEquals(this.nazwa_plikuField, value) != true)) {
this.nazwa_plikuField = value;
this.RaisePropertyChanged("nazwa_pliku");
}
}
}
Za wszelką pomoc bardzo dziękuję.