Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.61 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Cars>
  3. <Car>
  4. <StockNumber>1020</StockNumber>
  5. <Make>Nissan</Make>
  6. <Model>Sentra</Model>
  7. </Car>
  8. <Car>
  9. <StockNumber>1010</StockNumber>
  10. <Make>Toyota</Make>
  11. <Model>Corolla</Model>
  12. </Car>
  13. <Car>
  14. <StockNumber>1111</StockNumber>
  15. <Make>Honda</Make>
  16. <Model>Accord</Model>
  17. </Car>
  18. </Cars>
  19.  
  20. [Serializable()]
  21. public class Car
  22. {
  23. [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
  24. public string StockNumber{ get; set; }
  25.  
  26. [System.Xml.Serialization.XmlElementAttribute("Make")]
  27. public string Make{ get; set; }
  28.  
  29. [System.Xml.Serialization.XmlElementAttribute("Model")]
  30. public string Model{ get; set; }
  31. }
  32.  
  33. [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
  34. public class Cars
  35. {
  36. [XmlArrayItem(typeof(Car))]
  37. public Car[] Car { get; set; }
  38.  
  39. }
  40.  
  41. public class CarSerializer
  42. {
  43. public Cars Deserialize()
  44. {
  45. Cars[] cars = null;
  46. string path = HttpContext.Current.ApplicationInstance.Server.MapPath("~/App_Data/") + "cars.xml";
  47.  
  48. XmlSerializer serializer = new XmlSerializer(typeof(Cars[]));
  49.  
  50. StreamReader reader = new StreamReader(path);
  51. reader.ReadToEnd();
  52. cars = (Cars[])serializer.Deserialize(reader);
  53. reader.Close();
  54.  
  55. return cars;
  56. }
  57. }
  58.  
  59. [Serializable()]
  60. public class Car
  61. {
  62. [System.Xml.Serialization.XmlElement("StockNumber")]
  63. public string StockNumber { get; set; }
  64.  
  65. [System.Xml.Serialization.XmlElement("Make")]
  66. public string Make { get; set; }
  67.  
  68. [System.Xml.Serialization.XmlElement("Model")]
  69. public string Model { get; set; }
  70. }
  71.  
  72.  
  73. [Serializable()]
  74. [System.Xml.Serialization.XmlRoot("CarCollection")]
  75. public class CarCollection
  76. {
  77. [XmlArray("Cars")]
  78. [XmlArrayItem("Car", typeof(Car))]
  79. public Car[] Car { get; set; }
  80. }
  81.  
  82. CarCollection cars = null;
  83. string path = "cars.xml";
  84.  
  85. XmlSerializer serializer = new XmlSerializer(typeof(CarCollection));
  86.  
  87. StreamReader reader = new StreamReader(path);
  88. cars = (CarCollection)serializer.Deserialize(reader);
  89. reader.Close();
  90.  
  91. <?xml version="1.0" encoding="utf-8"?>
  92. <CarCollection>
  93. <Cars>
  94. <Car>
  95. <StockNumber>1020</StockNumber>
  96. <Make>Nissan</Make>
  97. <Model>Sentra</Model>
  98. </Car>
  99. <Car>
  100. <StockNumber>1010</StockNumber>
  101. <Make>Toyota</Make>
  102. <Model>Corolla</Model>
  103. </Car>
  104. <Car>
  105. <StockNumber>1111</StockNumber>
  106. <Make>Honda</Make>
  107. <Model>Accord</Model>
  108. </Car>
  109. </Cars>
  110. </CarCollection>
  111.  
  112. XmlSerializer ser = new XmlSerializer(typeof(Cars));
  113. Cars cars;
  114. using (XmlReader reader = XmlReader.Create(path))
  115. {
  116. cars = (Cars) ser.Deserialize(reader);
  117. }
  118.  
  119. public class Car
  120. {
  121. public string StockNumber { get; set; }
  122. public string Make { get; set; }
  123. public string Model { get; set; }
  124. }
  125.  
  126. [XmlRootAttribute("Cars")]
  127. public class CarCollection
  128. {
  129. [XmlElement("Car")]
  130. public Car[] Cars { get; set; }
  131. }
  132.  
  133. using (TextReader reader = new StreamReader(path))
  134. {
  135. XmlSerializer serializer = new XmlSerializer(typeof(CarCollection));
  136. return (CarCollection) serializer.Deserialize(reader);
  137. }
  138.  
  139. [Serializable()]
  140. [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
  141. public class Cars
  142. {
  143. [XmlArrayItem(typeof(Car))]
  144. public Car[] Car { get; set; }
  145. }
  146.  
  147. [Serializable()]
  148. public class Car
  149. {
  150. [System.Xml.Serialization.XmlElement()]
  151. public string StockNumber{ get; set; }
  152.  
  153. [System.Xml.Serialization.XmlElement()]
  154. public string Make{ get; set; }
  155.  
  156. [System.Xml.Serialization.XmlElement()]
  157. public string Model{ get; set; }
  158. }
  159.  
  160. <Root> <-- well, the root
  161. <Cars> <-- an element (not a root), it being an array
  162. <Car> <-- an element, it being an array item
  163. ...
  164. </Car>
  165. </Cars>
  166. </Root>
  167.  
  168. //deserialization
  169.  
  170. XmlSerializer xmlser = new XmlSerializer(typeof(List<Item>));
  171. StreamReader srdr = new StreamReader(@"C:serialize.xml");
  172. List<Item> p = (List<Item>)xmlser.Deserialize(srdr);
  173. srdr.Close();`
  174.  
  175. <?xml version="1.0" ?>
  176. <TRANSACTION_RESPONSE>
  177. <TRANSACTION>
  178. <TRANSACTION_ID>25429</TRANSACTION_ID>
  179. <MERCHANT_ACC_NO>02700701354375000964</MERCHANT_ACC_NO>
  180. <TXN_STATUS>F</TXN_STATUS>
  181. <TXN_SIGNATURE>a16af68d4c3e2280e44bd7c2c23f2af6cb1f0e5a28c266ea741608e72b1a5e4224da5b975909cc43c53b6c0f7f1bbf0820269caa3e350dd1812484edc499b279</TXN_SIGNATURE>
  182. <TXN_SIGNATURE2>B1684258EA112C8B5BA51F73CDA9864D1BB98E04F5A78B67A3E539BEF96CCF4D16CFF6B9E04818B50E855E0783BB075309D112CA596BDC49F9738C4BF3AA1FB4</TXN_SIGNATURE2>
  183. <TRAN_DATE>29-09-2015 07:36:59</TRAN_DATE>
  184. <MERCHANT_TRANID>150929093703RUDZMX4</MERCHANT_TRANID>
  185. <RESPONSE_CODE>9967</RESPONSE_CODE>
  186. <RESPONSE_DESC>Bank rejected transaction!</RESPONSE_DESC>
  187. <CUSTOMER_ID>RUDZMX</CUSTOMER_ID>
  188. <AUTH_ID />
  189. <AUTH_DATE />
  190. <CAPTURE_DATE />
  191. <SALES_DATE />
  192. <VOID_REV_DATE />
  193. <REFUND_DATE />
  194. <REFUND_AMOUNT>0.00</REFUND_AMOUNT>
  195. </TRANSACTION>
  196. </TRANSACTION_RESPONSE>
  197.  
  198. [XmlType("TRANSACTION_RESPONSE")]
  199. public class TransactionResponse
  200. {
  201. [XmlElement("TRANSACTION")]
  202. public BankQueryResponse Response { get; set; }
  203.  
  204. }
  205.  
  206. public class BankQueryResponse
  207. {
  208. [XmlElement("TRANSACTION_ID")]
  209. public string TransactionId { get; set; }
  210.  
  211. [XmlElement("MERCHANT_ACC_NO")]
  212. public string MerchantAccNo { get; set; }
  213.  
  214. [XmlElement("TXN_SIGNATURE")]
  215. public string TxnSignature { get; set; }
  216.  
  217. [XmlElement("TRAN_DATE")]
  218. public DateTime TranDate { get; set; }
  219.  
  220. [XmlElement("TXN_STATUS")]
  221. public string TxnStatus { get; set; }
  222.  
  223.  
  224. [XmlElement("REFUND_DATE")]
  225. public DateTime RefundDate { get; set; }
  226.  
  227. [XmlElement("RESPONSE_CODE")]
  228. public string ResponseCode { get; set; }
  229.  
  230.  
  231. [XmlElement("RESPONSE_DESC")]
  232. public string ResponseDesc { get; set; }
  233.  
  234. [XmlAttribute("MERCHANT_TRANID")]
  235. public string MerchantTranId { get; set; }
  236.  
  237. }
  238.  
  239. public class SerializeConfig<T> where T : class
  240. {
  241. public static void Serialize(string path, T type)
  242. {
  243. var serializer = new XmlSerializer(type.GetType());
  244. using (var writer = new FileStream(path, FileMode.Create))
  245. {
  246. serializer.Serialize(writer, type);
  247. }
  248. }
  249.  
  250. public static T DeSerialize(string path)
  251. {
  252. T type;
  253. var serializer = new XmlSerializer(typeof(T));
  254. using (var reader = XmlReader.Create(path))
  255. {
  256. type = serializer.Deserialize(reader) as T;
  257. }
  258. return type;
  259. }
  260. }
  261.  
  262. using System.Xml;
  263. using System.Xml.Schema;
  264.  
  265. [TestMethod]
  266. public void GenerateXsdFromXmlTest()
  267. {
  268. string folder = @"C:mydirmydataxmlToCSharp";
  269. XmlReader reader = XmlReader.Create(folder + "some_xml.xml");
  270. XmlSchemaSet schemaSet = new XmlSchemaSet();
  271. XmlSchemaInference schema = new XmlSchemaInference();
  272.  
  273. schemaSet = schema.InferSchema(reader);
  274.  
  275.  
  276. foreach (XmlSchema s in schemaSet.Schemas())
  277. {
  278. XmlWriter xsdFile = new XmlTextWriter(folder + "some_xsd.xsd", System.Text.Encoding.UTF8);
  279. s.Write(xsdFile);
  280. xsdFile.Close();
  281. }
  282. }
  283.  
  284. // now from the visual studio command line type: xsd some_xsd.xsd /classes
  285.  
  286. [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
  287. public class Cars
  288. {
  289. [XmlArrayItem(typeof(Car))]
  290. public Car[] Car { get; set; }
  291. }
  292.  
  293. [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
  294. public class Cars
  295. {
  296. [XmlElement("Car")]
  297. public Car[] Car { get; set; }
  298. }
  299.  
  300. StreamReader sr = new StreamReader(@"C:UsersduongnghDesktopNewfolderabc.txt");
  301. XmlSerializer xml = new XmlSerializer(typeof(Class1[]));
  302. var a = xml.Deserialize(sr);
  303. sr.Close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement