2010-05-05 13 views
6

Im usando la aplicación de formulario windows C# .net. Tengo un archivo XML cuyo nombre es hello.xml y va asíCómo encontrar el nombre del nodo raíz de un archivo xml dado

<?xml version="1.0" encoding="utf-8" ?> 
<languages> 
    <language> 
    <key>abc</key> 
    <value>hello how ru</value> 
    </language> 
    <language> 
    <key>def</key> 
    <value>i m fine</value> 
    </language> 
    <language> 
    <key>ghi</key> 
    <value>how abt u</value> 
    </language> 
</languages> 

¿Cómo puedo obtener el nodo raíz es decir <languages> en un cuadro de texto. En este momento tendré el nombre de archivo xml. es decir, "hello.xml". Usando esto, debería obtener el nodo raíz.

+0

favor actualiza tu pregunta con un ejemplo del xml. –

Respuesta

13

mediante LINQ to XML se puede hacer esto:

XDocument doc = XDocument.Load("input.xml"); 
string rootLocalName = doc.Root.Name.LocalName; 
textBox1.Text = '<' + rootLocalName + '>'; 

Con XmlDocument puede utilizar esto:

XmlDocument doc = new XmlDocument(); 
doc.Load("input.xml"); 
string rootName = doc.SelectSingleNode("/*").Name; 
0

O utilizar la propiedad XmlDocument DocumentElement como se muestra here:

XmlDocument doc = new XmlDocument(); 
doc.Load("hello.xml"); 
string root = doc.DocumentElement.Name; 
textBox1.Text = "<" + root + ">"; 
Cuestiones relacionadas