Estoy analizando un documento xml, necesito averiguar el valor de gid (un atributo) (3810).¿Cómo obtener el valor del atributo con SelectSingleNode?
Basado en SelectSingleNode()
. Descubrí que no es fácil encontrar el nombre del atributo y su valor.
¿Puedo utilizar este método o debo cambiar a otra forma?
Se adjunta mi código.
¿Cómo puedo usar book
obj para obtener el valor de atributo 3810
para gid
. Gracias.
Mi archivo test.xml como a continuación
<?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>
me escribió las test.cs como a continuación
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);
}
}
[Actualización 06/10/2010]
el XML archivo es un archivo complejo. Incluido miles de gids. Pero para cada uno de Xpath, el gid es único.
Cargo el archivo xml a un control TreeView.
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
. Cuando ocurra el eventotreeView1_AfterSelect
, ele.Node.FullPath
volverá como un valor de cadena.Analizo la cadena Valor
e.Node.FullPath
. Luego obtuve el miembro de XPath Above. Luego traté de encontrar qué elemento de Gid se seleccionó.
Necesito encontrar el valor de gid como un valor de retorno de hecho.
Teniendo en cuenta el código en la pregunta 'book.Attributes' está vacía (Count = 0). – ChrisF
Hola. De 'book.Attributes.Count = 0', no puede encontrar el' gid' durante el tiempo de ejecución. –
En realidad, hay miles de gids en mi archivo xml real. Me gustaría analizar la capa de elemento con 'selectSingleNode()'. Creo que es un método rápido para mi caso. Entonces puedo encontrar el único gid. –