c# - Convert xml to custom class using lambda linq -


I have created a custom class trying to parse an XML document I have successfully figured out how to document Parsing, but for some reason I have to do this in the IEnumerable instead of a single instance of my custom class, it is very easy to show the code in depth, so see the code snippet below .

Job Code

  IEnumerable & lt; Ping & gt; Ping = xmlDoc.Descendants ("p = & gt; new ping {TRAN_ID = (string) P. element (" TRAN_ID "), MILOC = (string) P. element (" MILOC "), traffic = (string) p. Element ("TRANDATE"), TRANTIME = (string) P.Ellement ("TRANTIME"), COUNTRY = (string) P.Element ("COUNTRY")});  

Its use Results in ...

  foreach (ping in ping p) {cmd.Parameters.AddWithValue ("@ TRAN_ID", p .TRAN_ID); Cmd.Parameters.AddWithValue ("@ MILOC ", PMILOC); Cmd.Parameters.AddWithValue (" @ SITE_REF "," ");}  

... in the database

The desired code idea

  Ping Ping = (ping) xmldoc (p = & gt; new ping {TRAN_ID = (string) P. element ("TRAN_ID"), MILOC = (string) P. element ("MILOC"), trout = (string ) .P .Element ("TRANDATE"), TRANTIME = (string) p.Element ("TRANTIME"), COUNTRY = (string) p.Element ("COUNTRY")}); // ... other operations and database functions ... CMD. Parameter. Advant Value ("@ TRAN_ID", ping. TRAN_ID); Cmd.Parameters.AddWithValue ("@MILOC", Ping. MILOC); Cmd.Parameters.AddWithValue ("@SITE_REF", "");  

You think you should only first or Single () or whatever - to say that you want only a result (first or only result - other options are available):

  Ping Ping = xmlDoc.Descendants ("PING_SEND"). (...) first ();  

Basically, this issue is that after Descendants (...). (...) You get an sequence ping of references, while you only want one.

If there is more than one PING_SEND element can be - or none - you really need to think what you want to do in that situation according to your needs , LINQ provides a variety of methods to assist you based on your help:

  • first
  • single
  • last
  • first and default
  • single default defaults
  • / Li>

Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -