This is an archived thread from the StopByte developer forum —
browse all archived threads.
StopByte is now a payments & ecommerce toolkit — check out our
free calculators.
Is there any easy way to read my XML formatted string (in memory). the XML string wont have any standard namespaces. as follows:
<doc>
<nodes>
<node tag="node1" title="Hello world" description="some text here" />
<node tag="node2" title="Hello world" description="some text here" />
<node tag="node3" title="Hello world" description="some text here" />
<node tag="node4" title="Hello world" description="some text here" />
</nodes>
</doc>
How can i read and go through those XML nodes of my XML string?
the string is received through a web GET request.
3 Likes
jms
(jms)
#2
You can load XML from a string using this:
using System.Xml;
First add that using statement to import the necessary namespace for the XML stuff to work.
then do something like the following to load an XmlDocument object type from a string in memory.
// You can load your Xml string from anywhere you want.
string MyXmlString = "<doc>"+
" <nodes>"
" <node tag='node1' title='Hello world' description='some text here' />"
" <node tag='node2' title='Hello world' description='some text here' />"
" <node tag='node3' title='Hello world' description='some text here' />"
" <node tag='node4' title='Hello world' description='some text here' />"
" </nodes>"
"</doc>";
// Declare a new XmlDocument Instance.
XmlDocument doc = new XmlDocument();
/// now load XML from string.
doc.LoadXml(MyXmlString);
// Now go through our XML nodes one by one using foreach.
// This foreach loo below goes through elements of first node of the doc node.
// doc.DocumentElement doesn't mean necessarly our doc node above in the XML,
// but rather means the first root node of the document which is doc in our case here.
foreach (XmlNode node in doc.DocumentElement.ChildNodes[0].ChildNodes)
{
// you are going through nodes now :)
}
3 Likes
afree
(afree)
#3
These two lines of code are all you need to do:
var doc = new XmlDocument();
doc.LoadXml("<xml><root tag="Hello World!"></root></xml>");
Then you can handle the XML Document nodes tree the way you want.