<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel xmlns:blog="http://www.dotnetnuke.com/blog/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
    <title>SYSTEM.XML</title>
    <description>Code samples against the SYSTEM.XML DOM</description>
    <link>http://devshed.us/Blogs/tabid/227/BlogId/26/Default.aspx</link>
    <language>en-US</language>
    <webMaster>steve@4penny.net</webMaster>
    <pubDate>Sat, 19 May 2012 19:05:52 GMT</pubDate>
    <lastBuildDate>Sat, 19 May 2012 19:05:52 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 4.0.0.0</generator>
    <item>
      <title>Serialize a VB class to a string</title>
      <link>http://devshed.us/Blogs/tabid/227/EntryId/1081/Serialize-a-VB-class-to-a-string.aspx</link>
      <description>&lt;p&gt;Here is a simple code example showing how to take a VB Class object and us Xml.Serialization to turn it into an XML string. I had a little trouble finding this code because all the examples wanted to write the XML to disk using a StreamWriter… I needed it in memory as a string&lt;/p&gt;  &lt;p&gt;The resulting string looks like  this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devshed.us/Portals/3/Blog/Files/26/1081/Windows-Live-Writer-How-to-Serialize-a-VB-class-to-a-string_104C7-SNAGHTML1b80ab8a.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML1b80ab8a" border="0" alt="SNAGHTML1b80ab8a" src="/Portals/3/Blog/Files/26/1081/Windows-Live-Writer-How-to-Serialize-a-VB-class-to-a-string_104C7-SNAGHTML1b80ab8a_thumb.png" width="441" height="321" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:22f3c3f9-32af-406a-b5c5-637496af6720" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: #fff; max-height: 500px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Module&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Module1&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#008000"&gt;'this is our simple class of 'product' that we'll create&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Property&lt;/span&gt; ProductID &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Property&lt;/span&gt; ProductName &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Property&lt;/span&gt; cost &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Double&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt;&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt; Main()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;        &lt;span style="color:#008000"&gt;'to make it a little more interesting, we'll serialize an Array of Product&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#008000"&gt;'declare the array&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; oProducts(1) &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#008000"&gt;'declare the product class&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; oProduct &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;        &lt;span style="color:#008000"&gt;'create the first product&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        oProduct = &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        oProduct.ProductID = &lt;span style="color:#a31515"&gt;"1"&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        oProduct.ProductName = &lt;span style="color:#a31515"&gt;"Hammer"&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        oProduct.cost = 5.12&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        oProducts(0) = oProduct&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#008000"&gt;'create the second product&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        oProduct = &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        oProduct.ProductID = &lt;span style="color:#a31515"&gt;"2"&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        oProduct.ProductName = &lt;span style="color:#a31515"&gt;"Chisel"&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        oProduct.cost = 9.99&lt;/li&gt; &lt;li&gt;        oProducts(1) = oProduct&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;        &lt;span style="color:#008000"&gt;'Serialize the array to a string&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; sw &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; IO.&lt;span style="color:#2b91af"&gt;StringWriter&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; oSerializer &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; Xml.Serialization.&lt;span style="color:#2b91af"&gt;XmlSerializer&lt;/span&gt;(oProducts.GetType)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        oSerializer.Serialize(sw, (oProducts))&lt;/li&gt; &lt;li&gt;        MsgBox(sw.ToString)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Module&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;a href=http://devshed.us/Blogs/tabid/227/EntryId/1081/Serialize-a-VB-class-to-a-string.aspx&gt;More ...&lt;/a&gt;</description>
      <author>steve@4penny.net</author>
      <comments>http://devshed.us/Blogs/tabid/227/EntryId/1081/Serialize-a-VB-class-to-a-string.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://devshed.us/Blogs/tabid/227/EntryId/1081/Serialize-a-VB-class-to-a-string.aspx</guid>
      <pubDate>Mon, 04 Apr 2011 22:45:32 GMT</pubDate>
      <trackback:ping>http://devshed.usDesktopModules/BlogTrackback.aspx?id=1081</trackback:ping>
    </item>
    <item>
      <title>Deserialize an XML document with a parent/child relationship</title>
      <link>http://devshed.us/Blogs/tabid/227/EntryId/1038/Deserialize-an-XML-document-with-a-parent-child-relationship.aspx</link>
      <description>&lt;p&gt;In the &lt;a href="http://devshed.us/Blogs/tabid/227/EntryId/1036/Deserialize-an-XML-document-from-a-string-to-a-class.aspx" target="_blank"&gt;last example&lt;/a&gt; we took a simple XML document and deserialized it into a class. This example takes that idea one step further. Our source XML document is a standard ‘order’ with an Order Header and Order Detail sections. The class that we’re going to send it into needs to have a Generic List (of Item) to hold the order details.&lt;/p&gt;  &lt;p&gt;Also, in the last example each item in the class was decorated with an &lt;XElement&gt; directive. In this example we’ve remove those and placed a &lt;Serializable&gt; directive at the top of the class.&lt;/p&gt;  &lt;p&gt;Also note that the &lt;XmlAttribute&gt; was applied to the OrderNumber property, and it got correctly picked up as an attribute in the XML document&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:82fe6bd5-0e2a-440f-9c1e-bde37a8741d5" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: #fff; max-height: 500px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;Imports&lt;/span&gt; System.Xml.Serialization&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;Imports&lt;/span&gt; Microsoft.VisualBasic&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Form2&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt; Form2_Load(&lt;span style="color:#0000ff"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Object&lt;/span&gt;, &lt;span style="color:#0000ff"&gt;ByVal&lt;/span&gt; e &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; System.&lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt;) &lt;span style="color:#0000ff"&gt;Handles&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Me&lt;/span&gt;.Load&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Try&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;' Declare an object variable of the type to be deserialized.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; i &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Order&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;            &lt;span style="color:#008000"&gt;'Create an instance of the XmlSerializer specifying type and namespace.&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;'the 'OrderedItem' class is below&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; serializer &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; &lt;span style="color:#2b91af"&gt;XmlSerializer&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;GetType&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;Order&lt;/span&gt;))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;            &lt;span style="color:#008000"&gt;'open an XmlReader from a string&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;'the getXMLDoc function returns an XML document in string format&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; reader &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; System.Xml.&lt;span style="color:#2b91af"&gt;XmlReader&lt;/span&gt; = System.Xml.&lt;span style="color:#2b91af"&gt;XmlReader&lt;/span&gt;.Create(&lt;span style="color:#0000ff"&gt;New&lt;/span&gt; System.IO.&lt;span style="color:#2b91af"&gt;StringReader&lt;/span&gt;(getXMLDoc))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;            &lt;span style="color:#008000"&gt;' Use the Deserialize method to restore the object's state.&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            i = &lt;span style="color:#0000ff"&gt;CType&lt;/span&gt;(serializer.Deserialize(reader), &lt;span style="color:#2b91af"&gt;Order&lt;/span&gt;)&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;' Write out the properties of the object.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;"Item Name: "&lt;/span&gt; &amp; i.OrderNumber)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;"Item Desc: "&lt;/span&gt; &amp; i.CustomerNumber)&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;Catch&lt;/span&gt; ex &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Exception&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            MsgBox(ex.Message)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Try&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Function&lt;/span&gt; getXMLDoc() &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; xElement &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;XElement&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        xElement = &lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Order&lt;/span&gt; &lt;span style="color:#b96464"&gt;OrderNumber&lt;/span&gt;&lt;span style="color:#6464b9"&gt;=&lt;/span&gt;&lt;span style="color:#555555"&gt;"&lt;/span&gt;&lt;span style="color:#6464b9"&gt;ORD002&lt;/span&gt;&lt;span style="color:#555555"&gt;"&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;CustomerNumber&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;CUST001&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;CustomerNumber&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Items&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                           &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Item&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                               &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;ItemName&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;Widget&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;ItemName&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                               &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Quantity&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;1&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Quantity&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                               &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;UnitPrice&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;9&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;UnitPrice&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                           &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Item&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                           &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Item&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                               &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;ItemName&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;Widget&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;ItemName&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                               &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Quantity&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;10&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Quantity&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                               &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;UnitPrice&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;2.3&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;UnitPrice&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                           &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Item&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Items&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                   &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Order&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Return&lt;/span&gt; xElement.ToString&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Function&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#008000"&gt;'This is the class that will be deserialized.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;&lt;span style="color:#2b91af"&gt;Serializable&lt;/span&gt;()&gt; _&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Order&lt;/span&gt;&lt;/li&gt; &lt;li&gt;    &lt;&lt;span style="color:#2b91af"&gt;XmlAttribute&lt;/span&gt;()&gt; _&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; OrderNumber &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; CustomerNumber &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; Items &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;List&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;Of&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Item&lt;/span&gt;)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;&lt;&lt;span style="color:#2b91af"&gt;Serializable&lt;/span&gt;()&gt; _&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Item&lt;/span&gt;&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; ItemName &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; Quantity &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Integer&lt;/span&gt;&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; UnitPrice &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Decimal&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;a href=http://devshed.us/Blogs/tabid/227/EntryId/1038/Deserialize-an-XML-document-with-a-parent-child-relationship.aspx&gt;More ...&lt;/a&gt;</description>
      <author>steve@4penny.net</author>
      <comments>http://devshed.us/Blogs/tabid/227/EntryId/1038/Deserialize-an-XML-document-with-a-parent-child-relationship.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://devshed.us/Blogs/tabid/227/EntryId/1038/Deserialize-an-XML-document-with-a-parent-child-relationship.aspx</guid>
      <pubDate>Thu, 17 Mar 2011 20:53:28 GMT</pubDate>
      <trackback:ping>http://devshed.usDesktopModules/BlogTrackback.aspx?id=1038</trackback:ping>
    </item>
    <item>
      <title>Deserialize an XML document (from a string to a class)</title>
      <link>http://devshed.us/Blogs/tabid/227/EntryId/1036/Deserialize-an-XML-document-from-a-string-to-a-class.aspx</link>
      <description>&lt;p&gt;I get to see quite a bit of XML, and my path in the past has always been to use LINQ to iterate through the document and read it into a class. Then I’d use the class to do whatever work I need to do. &lt;/p&gt;  &lt;p&gt;This code takes advantage of the XmlSerializer.Deserialize method. &lt;/p&gt;  &lt;p&gt;To run this code, create a Windows Forms application and drop this code into the form code behind. It is complete and should run unmodified.&lt;/p&gt;  &lt;p&gt;Note that the OrderedItem class and the getXMLDoc function both make use of namespaces for two of the elements, so we show how to code this both with and without namespace references.&lt;/p&gt;      &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:249e4050-4ddd-489b-9af2-36d6b8681388" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: #fff; max-height: 500px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;Imports&lt;/span&gt; System.Xml.Serialization&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;Imports&lt;/span&gt; Microsoft.VisualBasic&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Form1&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt; Form1_Load(&lt;span style="color:#0000ff"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Object&lt;/span&gt;, &lt;span style="color:#0000ff"&gt;ByVal&lt;/span&gt; e &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; System.&lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt;) &lt;span style="color:#0000ff"&gt;Handles&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Me&lt;/span&gt;.Load&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Try&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;' Declare an object variable of the type to be deserialized.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; i &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;OrderedItem&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;            &lt;span style="color:#008000"&gt;'Create an instance of the XmlSerializer specifying type and namespace.&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;'the 'OrderedItem' class is below&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; serializer &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; &lt;span style="color:#2b91af"&gt;XmlSerializer&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;GetType&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;OrderedItem&lt;/span&gt;))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;            &lt;span style="color:#008000"&gt;'open an XmlReader from a string&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;'the getXMLDoc function returns an XML document in string format&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; reader &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; System.Xml.&lt;span style="color:#2b91af"&gt;XmlReader&lt;/span&gt; = System.Xml.&lt;span style="color:#2b91af"&gt;XmlReader&lt;/span&gt;.Create(&lt;span style="color:#0000ff"&gt;New&lt;/span&gt; System.IO.&lt;span style="color:#2b91af"&gt;StringReader&lt;/span&gt;(getXMLDoc))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;            &lt;span style="color:#008000"&gt;' Use the Deserialize method to restore the object's state.&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            i = &lt;span style="color:#0000ff"&gt;CType&lt;/span&gt;(serializer.Deserialize(reader), &lt;span style="color:#2b91af"&gt;OrderedItem&lt;/span&gt;)&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#008000"&gt;' Write out the properties of the object.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;"Item Name: "&lt;/span&gt; &amp; i.ItemName)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;"Item Desc: "&lt;/span&gt; &amp; i.Description)&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;Catch&lt;/span&gt; ex &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Exception&lt;/span&gt;&lt;/li&gt; &lt;li&gt;            MsgBox(ex.Message)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Try&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Function&lt;/span&gt; getXMLDoc() &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; xElement &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#2b91af"&gt;XElement&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        xElement = &lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;OrderedItem&lt;/span&gt; &lt;span style="color:#b96464"&gt;xmlns:money&lt;/span&gt;&lt;span style="color:#6464b9"&gt;=&lt;/span&gt;&lt;span style="color:#555555"&gt;"&lt;/span&gt;&lt;span style="color:#6464b9"&gt;http://www.devshed.us&lt;/span&gt;&lt;span style="color:#555555"&gt;"&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;ItemName&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;Widget&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;ItemName&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Description&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;Regular Widget&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Description&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;Quantity&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;10&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;Quantity&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;money:UnitPrice&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;2.3&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;money:UnitPrice&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                       &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;&lt;/span&gt;&lt;span style="color:#844646"&gt;money:LineTotal&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;span style="color:#555555"&gt;23&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;money:LineTotal&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;                   &lt;span style="color:#555555"&gt;&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#844646"&gt;OrderedItem&lt;/span&gt;&lt;span style="color:#6464b9"&gt;&gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;Return&lt;/span&gt; xElement.ToString&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Function&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#008000"&gt;' This is the class that will be deserialized.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;OrderedItem&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;&lt;span style="color:#2b91af"&gt;XmlElement&lt;/span&gt;()&gt; _&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; ItemName &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;&lt;span style="color:#2b91af"&gt;XmlElement&lt;/span&gt;()&gt; _&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; Description &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;String&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;&lt;span style="color:#2b91af"&gt;XmlElement&lt;/span&gt;()&gt; _&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; Quantity &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Integer&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt; &lt;/li&gt; &lt;li&gt;    &lt;&lt;span style="color:#2b91af"&gt;XmlElement&lt;/span&gt;(Namespace:=&lt;span style="color:#a31515"&gt;"http://www.devshed.us"&lt;/span&gt;)&gt; _&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; UnitPrice &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Decimal&lt;/span&gt;&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;&lt;span style="color:#2b91af"&gt;XmlElement&lt;/span&gt;(Namespace:=&lt;span style="color:#a31515"&gt;"http://www.devshed.us"&lt;/span&gt;)&gt; _&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; LineTotal &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Decimal&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#008000"&gt;' A custom method used to calculate price per item.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt; Calculate()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        LineTotal = UnitPrice * Quantity&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Sub&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff"&gt;Class&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;a href=http://devshed.us/Blogs/tabid/227/EntryId/1036/Deserialize-an-XML-document-from-a-string-to-a-class.aspx&gt;More ...&lt;/a&gt;</description>
      <author>steve@4penny.net</author>
      <comments>http://devshed.us/Blogs/tabid/227/EntryId/1036/Deserialize-an-XML-document-from-a-string-to-a-class.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://devshed.us/Blogs/tabid/227/EntryId/1036/Deserialize-an-XML-document-from-a-string-to-a-class.aspx</guid>
      <pubDate>Thu, 17 Mar 2011 20:07:52 GMT</pubDate>
      <trackback:ping>http://devshed.usDesktopModules/BlogTrackback.aspx?id=1036</trackback:ping>
    </item>
    <item>
      <title>SYSTEM.XML: InsertAfter</title>
      <link>http://devshed.us/Blogs/tabid/227/EntryId/673/SYSTEM-XML-InsertAfter.aspx</link>
      <description>&lt;p&gt;InsertAfter gave me fits today. This code:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;pre class="code"&gt;    &lt;span style="color: blue"&gt;Sub &lt;/span&gt;test2()
        &lt;span style="color: blue"&gt;Try
            &lt;/span&gt;&lt;span style="color: green"&gt;'The reference node is not a child of this node
            &lt;/span&gt;&lt;span style="color: blue"&gt;Dim &lt;/span&gt;xmlDoc &lt;span style="color: blue"&gt;As New &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlDocument
            &lt;/span&gt;xmlDoc.LoadXml(&lt;span style="color: #a31515"&gt;"&lt;root&gt;&lt;doc&gt;&lt;node1&gt;1&lt;/node1&gt;&lt;node3/&gt;&lt;/doc&gt;&lt;/root&gt;"&lt;/span&gt;)

            &lt;span style="color: blue"&gt;Dim &lt;/span&gt;xnNode1 &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlNode &lt;/span&gt;= xmlDoc.SelectSingleNode(&lt;span style="color: #a31515"&gt;"root/doc/node1"&lt;/span&gt;)
            &lt;span style="color: blue"&gt;Dim &lt;/span&gt;xnNode2 &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlNode &lt;/span&gt;= xmlDoc.CreateElement(&lt;span style="color: #a31515"&gt;"node2"&lt;/span&gt;)
            xnNode2.InnerXml = &lt;span style="color: #a31515"&gt;"steve"
            &lt;/span&gt;xmlDoc.InsertAfter(xnNode2, xnNode1)

            MsgBox(xmlDoc.ToString)
        &lt;span style="color: blue"&gt;Catch &lt;/span&gt;ex &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Exception
            &lt;/span&gt;MsgBox(ex.Message)
        &lt;span style="color: blue"&gt;End Try
    End Sub

&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Always returns ‘&lt;font color="#ff0000"&gt;The reference node is not a child of this node&lt;/font&gt;’. Grrr. &lt;/p&gt;

&lt;p&gt;This technique works, though:&lt;/p&gt;

&lt;pre class="code"&gt;    &lt;span style="color: blue"&gt;Sub &lt;/span&gt;test()
        &lt;span style="color: blue"&gt;Try
            &lt;/span&gt;&lt;span style="color: green"&gt;'The reference node is not a child of this node
            &lt;/span&gt;&lt;span style="color: blue"&gt;Dim &lt;/span&gt;xmlDoc &lt;span style="color: blue"&gt;As New &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlDocument
            &lt;/span&gt;xmlDoc.LoadXml(&lt;span style="color: #a31515"&gt;"&lt;root&gt;&lt;doc&gt;&lt;node1&gt;1&lt;/node1&gt;&lt;node3/&gt;&lt;/doc&gt;&lt;/root&gt;"&lt;/span&gt;)

            &lt;span style="color: blue"&gt;Dim &lt;/span&gt;xnNode1 &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlNode &lt;/span&gt;= xmlDoc.SelectSingleNode(&lt;span style="color: #a31515"&gt;"root/doc/node1"&lt;/span&gt;)
            &lt;span style="color: blue"&gt;Dim &lt;/span&gt;xnParent &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlNode &lt;/span&gt;= xnNode1.ParentNode

            &lt;span style="color: blue"&gt;Dim &lt;/span&gt;xnNode2 &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlNode &lt;/span&gt;= xmlDoc.CreateElement(&lt;span style="color: #a31515"&gt;"node2"&lt;/span&gt;)
            xnNode2.InnerXml = &lt;span style="color: #a31515"&gt;"steve"
            &lt;/span&gt;xnParent.InsertAfter(xnNode2, xnNode1)

            MsgBox(xmlDoc.ToString)
        &lt;span style="color: blue"&gt;Catch &lt;/span&gt;ex &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Exception
            &lt;/span&gt;MsgBox(ex.Message)
        &lt;span style="color: blue"&gt;End Try
    End Sub

&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=http://devshed.us/Blogs/tabid/227/EntryId/673/SYSTEM-XML-InsertAfter.aspx&gt;More ...&lt;/a&gt;</description>
      <author>steve@4penny.net</author>
      <comments>http://devshed.us/Blogs/tabid/227/EntryId/673/SYSTEM-XML-InsertAfter.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://devshed.us/Blogs/tabid/227/EntryId/673/SYSTEM-XML-InsertAfter.aspx</guid>
      <pubDate>Tue, 12 Oct 2010 20:14:02 GMT</pubDate>
      <trackback:ping>http://devshed.usDesktopModules/BlogTrackback.aspx?id=673</trackback:ping>
    </item>
    <item>
      <title>SYSTEM.XML: Query an attribute within a node</title>
      <link>http://devshed.us/Blogs/tabid/227/EntryId/605/SYSTEM-XML-Query-an-attribute-within-a-node.aspx</link>
      <description>&lt;p&gt;Task:&lt;/p&gt;  &lt;p&gt;Given this XML document:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1.0&lt;/span&gt;" &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;"&lt;span style="color: blue"&gt;?&gt;
&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;root&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
  &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;currentProfile&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;default&lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;currentProfile&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
  &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;profiles&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
    &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;profile &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;default&lt;/span&gt;"&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;scriptFolder&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;C:\myScripts&lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;scriptFolder&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
    &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;profile&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
    &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;profile &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;special&lt;/span&gt;"&lt;span style="color: blue"&gt;&gt;
      &lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;scriptFolder&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;C:\specialScripts&lt;span style="color: blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;scriptFolder&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
    &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;profile&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
  &lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;profiles&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;root&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;
&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;We need to get the value of the ‘scriptFolder’ node for the ‘default’ profile. &lt;/p&gt;

&lt;p&gt;Here’s the code:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Imports &lt;/span&gt;System.Xml&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Dim &lt;/span&gt;xmldoc &lt;span style="color: blue"&gt;As New &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlDocument
&lt;/span&gt;xmldoc.Load(&lt;span style="color: #2b91af"&gt;Application&lt;/span&gt;.StartupPath &amp; &lt;span style="color: #a31515"&gt;"\Profiles.xml"&lt;/span&gt;)

&lt;span style="color: blue"&gt;Dim &lt;/span&gt;strQuery &lt;span style="color: blue"&gt;As String
&lt;/span&gt;strQuery = &lt;span style="color: #a31515"&gt;"root/profiles/profile[@name='default']/scriptFolder"

&lt;/span&gt;&lt;span style="color: blue"&gt;Dim &lt;/span&gt;xnScriptFolder &lt;span style="color: blue"&gt;As &lt;/span&gt;&lt;span style="color: #2b91af"&gt;XmlNode &lt;/span&gt;= xmldoc.SelectSingleNode(strQuery)&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=http://devshed.us/Blogs/tabid/227/EntryId/605/SYSTEM-XML-Query-an-attribute-within-a-node.aspx&gt;More ...&lt;/a&gt;</description>
      <author>steve@4penny.net</author>
      <comments>http://devshed.us/Blogs/tabid/227/EntryId/605/SYSTEM-XML-Query-an-attribute-within-a-node.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://devshed.us/Blogs/tabid/227/EntryId/605/SYSTEM-XML-Query-an-attribute-within-a-node.aspx</guid>
      <pubDate>Mon, 13 Sep 2010 17:39:49 GMT</pubDate>
      <trackback:ping>http://devshed.usDesktopModules/BlogTrackback.aspx?id=605</trackback:ping>
    </item>
    <item>
      <title>XmlDocument: Loop through a document and move an attribute to a node</title>
      <link>http://devshed.us/Blogs/tabid/227/EntryId/407/XmlDocument-Loop-through-a-document-and-move-an-attribute-to-a-node.aspx</link>
      <description>&lt;p&gt;Today’s task has to do with an XML document that has the form:&lt;/p&gt;  &lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;OutboundReports&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceDate&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"20100607"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceType&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Invoice"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;invoiceID&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"60252726"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;purpose&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"PR"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceDate&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"20100607"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceType&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Invoice"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;invoiceID&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"60252727"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;purpose&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"PR"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;OutboundReports&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;We need to move the InvoiceDate, InvoiceType, and invoiceID attributes to ‘nodes’, so that our integration program will see them, the current version will not read attributes. Here’s what we want it to look like in the end:&lt;/p&gt;

&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;OutboundReports&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceDate&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"20100607"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceType&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Invoice"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;invoiceID&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"60252726"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;purpose&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"PR"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceDate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;20100607&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceDate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Invoice&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;60252726&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceDate&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"20100607"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;InvoiceType&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"Invoice"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;invoiceID&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"60252727"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;purpose&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"PR"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceDate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;20100607&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceDate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Invoice&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;60252726&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNoticeHeader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;InvoiceNotice&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;OutboundReports&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;Here’s the code:&lt;/p&gt;

&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            'Load the document
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            Dim xmlDoc As New XmlDocument
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            xmlDoc.Load(txtSourceFile.Text)
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            'loop through the xml document
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            Dim elemList As XmlNodeList = xmlDoc.GetElementsByTagName("InvoiceNoticeHeader")
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            Dim i As Integer
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            Dim MyCultureInfo As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            For i = 0 To elemList.Count - 1
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                Dim strInvoiceDate As String = elemList(i).Attributes("InvoiceDate").InnerXml
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                Dim dtInvoiceDate As Date = Date.ParseExact(strInvoiceDate, "yyyyMMdd", MyCultureInfo)
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                Dim xelemInvoiceDate As XmlElement = xmlDoc.CreateElement("InvoiceDate")
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                xelemInvoiceDate.InnerText = strInvoiceDate
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                elemList(i).AppendChild(xelemInvoiceDate)
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                Dim strInvoiceType As String = elemList(i).Attributes("InvoiceType").InnerXml
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                Dim xelemrInvoiceType As XmlElement = xmlDoc.CreateElement("InvoiceType")
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                xelemrInvoiceType.InnerText = strInvoiceType
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                elemList(i).AppendChild(xelemrInvoiceType)
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                Dim strInvoiceID As String = elemList(i).Attributes("invoiceID").InnerXml
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                Dim xelemInvoiceID As XmlElement = xmlDoc.CreateElement("InvoiceID")
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                xelemInvoiceID.InnerText = strInvoiceID
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;                elemList(i).AppendChild(xelemInvoiceID)
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            Next i
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            xmlDoc.Save(Me.txtDestinationFile.Text)
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href=http://devshed.us/Blogs/tabid/227/EntryId/407/XmlDocument-Loop-through-a-document-and-move-an-attribute-to-a-node.aspx&gt;More ...&lt;/a&gt;</description>
      <author>steve@4penny.net</author>
      <comments>http://devshed.us/Blogs/tabid/227/EntryId/407/XmlDocument-Loop-through-a-document-and-move-an-attribute-to-a-node.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://devshed.us/Blogs/tabid/227/EntryId/407/XmlDocument-Loop-through-a-document-and-move-an-attribute-to-a-node.aspx</guid>
      <pubDate>Sat, 21 Aug 2010 16:40:21 GMT</pubDate>
      <trackback:ping>http://devshed.usDesktopModules/BlogTrackback.aspx?id=407</trackback:ping>
    </item>
    <item>
      <title>SYSTEM.XML: Update a single node in a document</title>
      <link>http://devshed.us/Blogs/tabid/227/EntryId/259/SYSTEM-XML-Update-a-single-node-in-a-document.aspx</link>
      <description>&lt;p&gt;The task here is to use the SYSTEM.XML DOM and update a single node in a document. My document looks like this:&lt;/p&gt;  &lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;eConnect&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;xsi&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;:&lt;span style="color: #ff0000"&gt;xsd&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"http://www.w3.org/2001/XMLSchema"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;  &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;POPReceivingsType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;taUpdateCreateVendorRcd&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;taUpdateCreateVendorRcd&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;taCreateVendorAddress&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;taCreateVendorAddress&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptLineInsert&lt;/span&gt;&lt;span style="color: #ff0000"&gt;_Items&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;      &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptLineInsert&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;PONUMBER&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;PO08/00012&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;PONUMBER&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LOCNCODE&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;VA-PIEDMONTB&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LOCNCODE&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;      &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptLineInsert&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;      &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptLineInsert&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;PONUMBER&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;PO08/00012&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;PONUMBER&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LOCNCODE&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;VA-PIEDMONTA&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LOCNCODE&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;      &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptLineInsert&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptLineInsert&lt;/span&gt;_Items&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptHdrInsert&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;      &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;POPRCTNM&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;RC08/00028&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;POPRCTNM&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;      &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;POPTYPE&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;1&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;POPTYPE&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;      &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;BACHNUMB&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;MYBATCH&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;BACHNUMB&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;taPopRcptHdrInsert&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;  &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;POPReceivingsType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;eConnect&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Here is a sample of code that will do the deed. &lt;/p&gt;

&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt; System.Xml&lt;/pre&gt;&lt;/pre&gt;

&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; xmlDoc &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; XmlDocument
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        xmlDoc.Load(Application.StartupPath &amp; "&lt;span style="color: #8b0000"&gt;\xmlfile1.xml&lt;/span&gt;")
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; xnBatch &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; XmlNode = xmlDoc.SelectSingleNode("&lt;span style="color: #8b0000"&gt;eConnect/POPReceivingsType/taPopRcptHdrInsert/BACHNUMB&lt;/span&gt;")
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        xnBatch.InnerXml = "&lt;span style="color: #8b0000"&gt;NewBatch&lt;/span&gt;"
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;        MsgBox(xmlDoc.InnerXml)
&lt;/pre&gt;&lt;pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href=http://devshed.us/Blogs/tabid/227/EntryId/259/SYSTEM-XML-Update-a-single-node-in-a-document.aspx&gt;More ...&lt;/a&gt;</description>
      <author>steve@4penny.net</author>
      <comments>http://devshed.us/Blogs/tabid/227/EntryId/259/SYSTEM-XML-Update-a-single-node-in-a-document.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://devshed.us/Blogs/tabid/227/EntryId/259/SYSTEM-XML-Update-a-single-node-in-a-document.aspx</guid>
      <pubDate>Thu, 17 Jun 2010 18:04:39 GMT</pubDate>
      <trackback:ping>http://devshed.usDesktopModules/BlogTrackback.aspx?id=259</trackback:ping>
    </item>
  </channel>
</rss>
