kavvis
asked on
vb.net XML edit in form..
Hello.. I have some problem. Start from the beginning..
I have XML-File
looks like this...
<?xml version="1.0" encoding="utf-8"?>
<tagdata>
<readopcvalues>
<value opctag="TEST.AI_Weight_KL3 " />
<value opctag="TEST._produktion" />
<value opctag="SystemVariables.Se rverTime" />
</readopcvalues>
</tagdata>
What I would like to do first is have the change to add some new tags to my taglist..
tex. add this..
<value opctag="TEST.Goood" />
<?xml version="1.0" encoding="utf-8"?>
<tagdata>
<readopcvalues>
<value opctag="TEST.AI_Weight_KL3 " />
<value opctag="TEST._produktion" />
<value opctag="SystemVariables.Se rverTime" />
<value opctag="TEST.Goood" />
</readopcvalues>
</tagdata>
I have done this with this code but dosent get really waht I want.. The problem is that I always starts a new nodes and not write in the old one...
look
<?xml version="1.0" encoding="utf-8"?>
<tagdata>
<readopcvalues>
<value opctag="TEST.AI_Weight_KL3 " />
<value opctag="TEST._produktion" />
<value opctag="SystemVariables.Se rverTime" />
</readopcvalues>
<value opctag="TEST.Goood" />
</tagdata>
This is the code...
'-- Declare local variable and load xml file
Dim doc2 As New XmlDocument()
doc2.Load("XML\TagData.xml ")
'-- Create a new node and add it to the document.
Dim newline As XmlElement = doc2.CreateElement("value" )
newline.SetAttribute("opct ag", "PLC.Beijer_Agnesberg.OP_D agens_prod uktion")
doc2.DocumentElement.Appen dChild(new line)
'-- Save the xml file with the new changes.
doc2.Save("XML\TagData.xml ")
Please give me some tips.. My follow question is that I wolud like to show the Whole XML lines in textboxes..
like this.
textbox1.text = <value opctag="TEST.Goood" />
textbox2.text = <value opctag="TEST.AI_Weight_KL3 " />
Why I want this it´s because I wolud like to edit the old line.. or add a new line.. or remove one..
I hope someone understand! But first we take the easy party to write in the same nod! :D
//Kavvis
I have XML-File
looks like this...
<?xml version="1.0" encoding="utf-8"?>
<tagdata>
<readopcvalues>
<value opctag="TEST.AI_Weight_KL3
<value opctag="TEST._produktion" />
<value opctag="SystemVariables.Se
</readopcvalues>
</tagdata>
What I would like to do first is have the change to add some new tags to my taglist..
tex. add this..
<value opctag="TEST.Goood" />
<?xml version="1.0" encoding="utf-8"?>
<tagdata>
<readopcvalues>
<value opctag="TEST.AI_Weight_KL3
<value opctag="TEST._produktion" />
<value opctag="SystemVariables.Se
<value opctag="TEST.Goood" />
</readopcvalues>
</tagdata>
I have done this with this code but dosent get really waht I want.. The problem is that I always starts a new nodes and not write in the old one...
look
<?xml version="1.0" encoding="utf-8"?>
<tagdata>
<readopcvalues>
<value opctag="TEST.AI_Weight_KL3
<value opctag="TEST._produktion" />
<value opctag="SystemVariables.Se
</readopcvalues>
<value opctag="TEST.Goood" />
</tagdata>
This is the code...
'-- Declare local variable and load xml file
Dim doc2 As New XmlDocument()
doc2.Load("XML\TagData.xml
'-- Create a new node and add it to the document.
Dim newline As XmlElement = doc2.CreateElement("value"
newline.SetAttribute("opct
doc2.DocumentElement.Appen
'-- Save the xml file with the new changes.
doc2.Save("XML\TagData.xml
Please give me some tips.. My follow question is that I wolud like to show the Whole XML lines in textboxes..
like this.
textbox1.text = <value opctag="TEST.Goood" />
textbox2.text = <value opctag="TEST.AI_Weight_KL3
Why I want this it´s because I wolud like to edit the old line.. or add a new line.. or remove one..
I hope someone understand! But first we take the easy party to write in the same nod! :D
//Kavvis
ASKER
Arun thank you but I really dont know how to use this info into my code....
any other idees?
any other idees?
This is what I'm talking.
Arun
Arun
private static void UpdateXml()
{
string xmlPath = @"C:\Arun\Projects\ConsoleTest\ConsoleTest\Response.xml";
DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlPath);
dataSet.AcceptChanges();
// <value opctag="TEST.Goood" />
DataRow readopcvaluesRow = dataSet.Tables["readopcvalues"].Rows[0];
DataRow newRow = dataSet.Tables["value"].NewRow();
newRow["opctag"] = "Test.Gooood";
dataSet.Tables["value"].Rows.Add(newRow);
newRow.SetParentRow(readopcvaluesRow);
dataSet.WriteXml(xmlPath, XmlWriteMode.IgnoreSchema);
}
And here's the vb.net version.
Arun
Arun
Private Shared Sub UpdateXml()
Dim xmlPath As String = "C:\Arun\Projects\ConsoleTest\ConsoleTest\Response.xml"
Dim dataSet As New DataSet()
dataSet.ReadXml(xmlPath)
dataSet.AcceptChanges()
' <value opctag="TEST.Goood" />
Dim readopcvaluesRow As DataRow = dataSet.Tables("readopcvalues").Rows(0)
Dim newRow As DataRow = dataSet.Tables("value").NewRow()
newRow("opctag") = "Test.Gooood"
dataSet.Tables("value").Rows.Add(newRow)
newRow.SetParentRow(readopcvaluesRow)
dataSet.WriteXml(xmlPath, XmlWriteMode.IgnoreSchema)
End Sub
ASKER
Arun
OJ!! Thank you! Verry mutch!
It works greate!
Can I somehow remove on of lines tags in some simple way to?
I will give you the points just want to know some more info if you have before I close it! :D
/kavvis
OJ!! Thank you! Verry mutch!
It works greate!
Can I somehow remove on of lines tags in some simple way to?
I will give you the points just want to know some more info if you have before I close it! :D
/kavvis
And here's the second part of your question.
Arun
Arun
Private Shared Sub ReadInnerXml()
Dim xmlPath As String = "C:\Arun\Projects\ConsoleTest\ConsoleTest\Response.xml"
Dim xDocument__1 As XDocument = XDocument.Load(xmlPath)
Dim valueXmlList As List(Of String) = (From value In xDocument__1.Descendants("value")value.ToString()).ToList()
For i As Integer = 0 To valueXmlList.Count - 1
Console.WriteLine(valueXmlList(i))
Next
End Sub
ASKER
nmarun: I can´t really get that to work my friend...
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
What are you getting?
Arun
Arun
ASKER
Sorry it was my bad!
that line worked perfekt!
Can I ask one more question..
If I want to show " <value opctag="Test.Gooood" /> " in a textbox
just to show all the lines... so I can se what the diffrent rows I have...
so I can delete or replace one of the line easy...
How do I do that the best way?
I have tried to make the whole XML dokumet to a long string and then
like this
textbox1.text = doc.tostring.substring(0.1 0)
textbox2.text = doc.tostring.substring(23. 34)
but that dosent work.. so please tips me then I can close this question and give booth points! :D
that line worked perfekt!
Can I ask one more question..
If I want to show " <value opctag="Test.Gooood" /> " in a textbox
just to show all the lines... so I can se what the diffrent rows I have...
so I can delete or replace one of the line easy...
How do I do that the best way?
I have tried to make the whole XML dokumet to a long string and then
like this
textbox1.text = doc.tostring.substring(0.1
textbox2.text = doc.tostring.substring(23.
but that dosent work.. so please tips me then I can close this question and give booth points! :D
ASKER
Thank you!
everythin works very well now!
everythin works very well now!
http://www.java2s.com/Code/VB/XML/UpdateandinsertXMLElementwithDataSet.htm
Arun