How to get attribute value using SelectSingleNode?
Posted
by Nano HE
on Stack Overflow
See other posts from Stack Overflow
or by Nano HE
Published on 2010-06-09T09:33:14Z
Indexed on
2010/06/10
1:42 UTC
Read the original article
Hit count: 1370
I am parsing a xml document, I need find out the gid (an attribute) value (3810).
Based on SelectSingleNode()
. I found it is not easy to find the attribute name and it's value.
Can I use this method or I must switch to other way.
Attached my code.
How can I use book
obj to get the attribute value3810
for gid
. Thank you.
My test.xml file as below
<?xml version="1.0" ?>
<root>
<VersionInfo date="2007-11-28" version="1.0.0.2" />
<Attributes>
<AttrDir name="EFEM" DirID="1">
<AttrDir name="Aligner" DirID="2">
<AttrDir name="SequenceID" DirID="3">
<AttrObj text="Slot01" gid="3810" unit="" scale="1" />
<AttrObjCount value="1" />
</AttrDir>
</AttrDir>
</AttrDir>
</Attributes>
</root>
I wrote the test.cs as below
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("test.xml");
XmlNode book;
XmlNode root = doc.DocumentElement;
book = root.SelectSingleNode("Attributes[AttrDir[@name='EFEM']/AttrDir[@name='Aligner']/AttrDir[@name='SequenceID']/AttrObj[@text='Slot01']]");
Console.WriteLine("Display the modified XML document....");
doc.Save(Console.Out);
}
}
[Update 06/10/2010]
The xml file is a complex file. Included thousands of gids. But for each of Xpath, the gid is unique.
I load the xml file to a TreeView control.
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
. WhentreeView1_AfterSelect
event occurred, thee.Node.FullPath
will return as a String Value.I parse the string Value
e.Node.FullPath
. Then I got the member of XPath Above. Then I tried to find which gid item was selected.
I need find the gid value as a return value indeed.
© Stack Overflow or respective owner