Sunteți pe pagina 1din 6

15/8/2017 Cmo: Especificar espacios de nombres cuando se utiliza un XmlDocument para ejecutar consultas de XPath en .

NET Visual C#

Cmo: Especificar espacios de nombres cuando se utiliza


un XmlDocument para ejecutar consultas de XPath en .NET
Visual C#

IMPORTANTE: Este artculo ha sido traducido por un software de traduccin automtica de Microsoft
(http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artculos
traducidos por un traductor humano y artculos traducidos automticamente para que tenga acceso en su propio
idioma a todos los artculos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artculos
traducidos automticamente pueden contener errores en el vocabulario, la sintaxis o la gramtica, como los que
un extranjero podra cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisin,
error o dao ocasionado por una mala traduccin del contenido o como consecuencia de su utilizacin por
nuestros clientes. Microsoft suele actualizar el software de traduccin frecuentemente. Si ve errores y desea
ayudar con este esfuerzo, rellene la encuesta en la parte inferior de este artculo.
Ver el artculo original en ingls: 318545

Para una versin de Microsoft Visual Basic .NET de este artculo, consulte 316913 .

EN ESTA TAREA

RESUMEN

Crear el documento XML

Cree la aplicacin de Visual C#.

Probar el cdigo

REFERENCIAS

Resumen

En este artculo paso a paso se muestra cmo utilizar la clase System.Xml.XmlDocument para
ejecutar consultas de XPath en documentos XML que definen y utilizan los prefijos de espacio de
nombres para completar nombres de elemento y atributo.

Crear el documento XML

1. Utilice el Bloc de notas para crear un nuevo documento XML que contiene el cdigo
https://support.microsoft.com/es-es/help/318545/how-to-specify-namespaces-when-you-use-an-xmldocument-to-execute-xpath 1/6
15/8/2017 Cmo: Especificar espacios de nombres cuando se utiliza un XmlDocument para ejecutar consultas de XPath en .NET Visual C#

1. Utilice el Bloc de notas para crear un nuevo documento XML que contiene el cdigo
siguiente:

<?xml version='1.0'?><Books xmlns="urn:Books" xmlns:pub="urn:


Publisher">
<Book>
<Title>Beginning XML</Title>
<pub:Publisher>Wrox</pub:Publisher>
</Book>
<Book>
<Title>XML Step by Step</Title>
<pub:Publisher>MSPress</pub:Publisher>
</Book>
<Book>
<Title>Professional XML</Title>
<pub:Publisher>Wrox</pub:Publisher>
</Book>
<Book>
<Title>Developing XML solutions</Title>
<pub:Publisher>MSPress</pub:Publisher>
</Book>
</Books>

2. Guarde el documento como c:\books.xml.

Cree la aplicacin de Visual C#.

1. Cree un nuevo proyecto de aplicacin para Windows de Visual C#..

2. Arrastre un control de botn de comando del cuadro de herramientas hasta la superficie del
Diseador de Form1.cs.

3. Pegue el cdigo siguiente en el procedimiento de evento Click del botn de comando:

//Instantiate an XmlDocument object.System.Xml.XmlDocument xm


ldoc = new System.Xml.XmlDocument();

//Load books.xml into the XmlDocument object.


xmldoc.Load("C:\\books.xml");

//Instantiate an XmlNamespaceManager object.


System.Xml.XmlNamespaceManager xmlnsManager = new System.Xml.
XmlNamespaceManager(xmldoc.NameTable);

//Add the namespaces used in books.xml to the XmlNamespaceMan


ager.
xmlnsManager.AddNamespace("bk", "urn:Books");
xmlnsManager.AddNamespace("pub", "urn:Publisher");
https://support.microsoft.com/es-es/help/318545/how-to-specify-namespaces-when-you-use-an-xmldocument-to-execute-xpath 2/6
15/8/2017 Cmo: Especificar espacios de nombres cuando se utiliza un XmlDocument para ejecutar consultas de XPath en .NET Visual C#

System.Xml.XmlNodeList MSPressBookList;

//Execute the XPath query using the SelectNodes method of the


XmlDocument.
//Supply the XmlNamespaceManager as the nsmgr parameter.
//The matching nodes will be returned as an XmlNodeList.
//Use an XmlNode object to iterate through the returned XmlNo
deList.

MSPressBookList = xmldoc.SelectNodes("//pub:Publisher[. = 'MS


Press']/parent::node()/bk:Title", xmlnsManager);

foreach (System.Xml.XmlNode MSPressBook in MSPressBookList)


{
System.Diagnostics.Debug.WriteLine(MSPressBook.InnerText);

4. Lea los comentarios en lnea para comprender la funcionalidad del cdigo.

5. El objeto XmlNamespaceManager est diseado para servir como una coleccin de


definiciones de espacio de nombres. Se utiliza con los procesadores de XML de.NET
Framework para resolver y administrar el mbito de los espacios de nombres utilizados en
documentos XML. En el ejemplo anterior, preste atencin especfica a las siguientes lneas de
cdigo:

xmlnsManager.AddNamespace("bk", "urn:Books")xmlnsManager.AddN
amespace("pub", "urn:Publisher")

6. El mtodo AddNamespace de un objeto XmlNamespaceManager se utiliza para agregar un


espacio de nombres especificado a la coleccin de espacios de nombres. Toma 2 parmetros:
el prefijo y el identificador URI de espacio de nombres. El cdigo anterior se utiliza para
agregar las definiciones de los dos espacios de nombres definidos y utilizados en el archivo
books.xml a un objeto XmlNamespaceManager. books.XML reemplaza el espacio de
nombres XML (xmlns = "urn: Books") y define un espacio de nombres personalizado
(xmns:pub = "urn: Publisher"). Un prefijo personalizado definido por el usuario debe
especificar al agregar un URI del espacio de nombres XML del reemplazado predeterminada
para una coleccin de XmlNamespaceManager . Este prefijo debe utilizarse en expresiones
de consulta XPath para completar todos los nombres de elementos y atributos que
pertenecen al espacio de nombres XML predeterminado. En el cdigo de ejemplo, el prefijo
personalizado bk est asociado con el URI del espacio de nombres predeterminado del
reemplaza. A continuacin, se utiliza en la consulta XPath para calificar el elemento Title . (El
elemento Title pertenece al espacio de nombres XML del predeterminado de reemplazar en
books.xml).

7. El objeto XmlNamespaceManager se proporciona como parmetro en la llamada


https://support.microsoft.com/es-es/help/318545/how-to-specify-namespaces-when-you-use-an-xmldocument-to-execute-xpath al mtodo 3/6
15/8/2017 Cmo: Especificar espacios de nombres cuando se utiliza un XmlDocument para ejecutar consultas de XPath en .NET Visual C#

7. El objeto XmlNamespaceManager se proporciona como parmetro en la llamada al mtodo


SelectNodes del objeto XmlDocument para proporcionar la administracin de resolucin y
mbito de espacio de nombres necesaria para ejecutar correctamente la consulta XPath
especificada nsmgr (Administrador de espacio de nombres). La consulta de XPath en este
ejemplo se escribe para seleccionar los ttulos de books.xml de todos los libros publicados
por MSPRESS.

Probar el cdigo

1. Guardar los cambios en el proyecto de Visual C# .NET y, a continuacin, ejectelo.

2. Cuando se muestre el formulario, haga clic en el botn de comando para ejecutar el cdigo.
La salida siguiente listado los ttulos coincidentes se muestra en la ventana Resultados de
Visual Studio. NET:

XML Step by StepDeveloping XML solutions

Referencias

Para obtener informacin adicional, haga clic en el nmero de artculo siguiente para verlo en
Microsoft Knowledge Base:

313828 INFO: Gua bsica para ejecutar consultas XPath en aplicaciones .NET

Propiedades

Id. de artculo: 318545 - ltima revisin: 17 ene. 2017 - Revisin: 1

https://support.microsoft.com/es-es/help/318545/how-to-specify-namespaces-when-you-use-an-xmldocument-to-execute-xpath 4/6
15/8/2017 Cmo: Especificar espacios de nombres cuando se utiliza un XmlDocument para ejecutar consultas de XPath en .NET Visual C#

https://support.microsoft.com/es-es/help/318545/how-to-specify-namespaces-when-you-use-an-xmldocument-to-execute-xpath 5/6
15/8/2017 Cmo: Especificar espacios de nombres cuando se utiliza un XmlDocument para ejecutar consultas de XPath en .NET Visual C#

https://support.microsoft.com/es-es/help/318545/how-to-specify-namespaces-when-you-use-an-xmldocument-to-execute-xpath 6/6

S-ar putea să vă placă și