Team Foundation Server Hosting
Skip Navigation Links
Home
Forum Home
Latest 50
Unanswered
Win Prizes
All Time Leaders
Jump to CategoryExpand Jump to Category
Login 
    Welcome Guest!
 Search Forum For :  
X
 Login
Please login to submit a new post, reply and edit exiting posts, see user profiles, and access more features. If you are not a registered member, Register here.
User Id / Email:
Password:  
Forgot Password | Forgot UserName
   Home » XML in VB.Net » XML Problems...changing values in a List (Of XMLElement)
       
Author Reply
Rupert Kruger
posted 1 posts
since Jul 12, 2010 
from

XML Problems...changing values in a List (Of XMLElement)

  Posted on: 12 Jul 2010       
I'm having problems with using XML in my program...
First of all, I'm using Visual Basic Express 2008.
I have an XML document such as the following:

<?xml version='1.0'?>
<AvailableTests>
<TestItem Name="Test1">
<Description>
Test Description
</Description>
<Parameters>
<Param Name="First Parameter" Type="Textbox">
0000000000
</Param>
<Param Name="Second Parameter" Type="Textbox">
0000000000
</Param>
<Param Name="Third Parameter" Type="FileLocation">
c:\My Documents\File.txt
</Param>
</Parameters>
</TestItem>
<TestItem Name="Test2">
<Description>
Test2's description
</Description>
<Parameters>
<Param Name="First Parameter" Type="Textbox">
0000000000
</Param>
<Param Name="Second Parameter" Type="Textbox">
0000000000
</Param>
<Param Name="Third Parameter" Type="FileLocation">
c:\My Documents\File.txt
</Param>
<Param Name="Fourth Parameter" Type="Checkbox">
checked
</Param>
</Parameters>
</TestItem>
</AvailableTests>
In my program, I load each TestItem (along with it's innerXML) as an XMLElement into a list(Of XMLElement).

dim TestItems as new List(of XMLElement)


Dim doc As XmlDocument = New XmlDocument
doc.Load(filename)
Dim nodeList As XmlNodeList = doc.GetElementsByTagName("TestItem")

For Each elem As XmlElement In nodeList
TestItems.Add(elem)
Next

For Each elem As XmlElement In nodeList
TestItems.Add(elem)
Next
Typically the above code loads XMLElements into the List (two of each). Now, whenever I try to change, say, the innertext of the third param, it changes the innertext of the third param for both items (that is the same) in the list!

Dim thisNode As XmlElement = TestItem(index)
Dim nodeList As XmlNodeList = thisNode.GetElementsByTagName("Parameters")

For Each elem As XmlElement In nodeList
If elem.HasChildNodes Then
For Each child As XmlElement In elem
If child.GetAttribute("Name") = "Third Parameter" Then
child.InnerText = Dlog.FileName
End If
Next
End If
Next

Even by changing thisNode - without assigning its values back to TestItem(index), innertext values for third param of both items in the list has changed to Dlog.FileName. The above is my latest attempt. I have also triedthe following - with the same results

 

Campaign(currentCampaign).SelectSingleNode("//Parameters/Param[@Name='Third Parameter']").InnerText = Dlog.FileName
I do not know how to get around it...

Any help will be appreciated.
       
Nevron Diagram
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
Team Foundation Server Hosting
 Hosted by MaximumASP  |  Found a broken link?  |  Contact Us  |  Terms & conditions  |  Privacy Policy  |  Site Map  |  Advertise with us
Current Version: 5.2011.3.12
 © 1999 - 2012  Mindcracker LLC. All Rights Reserved