¿Por qué el atributo 'xmlns' afecta la búsqueda del nodo XPath?
El siguiente código funciona perfecto. Ver archivo XML a continuación.
XPathDocument xPathDoc = new XPathDocument(@"C:\Authors.xml");
XPathNavigator navigator = xPathDoc.CreateNavigator();
XPathNodeIterator iterator = navigator.Select("/Contacts/Author/FirstName");
iterator.MoveNext();
string firstName = iterator.Current.InnerXml;
Console.WriteLine(firstName);
El valor de 'firstName' devuelve 'Joe', que es perfecto. Sin embargo, cuando agrego este attibute xmlns = "http://www.w3.org/1999/xhtml" a la etiqueta '', para que se vea de la siguiente manera:
<Author xmlns="http://www.w3.org/1999/xhtml">
entonces el código no devuelve el valor correcto ('Joe') ¿Por qué entonces el atributo xmlns = "http://www.w3.org/1999/xhtml" afecta el código anterior y qué me falta para devolver el valor correcto?
Cualquier ayuda será apreciada.
Aquí está el archivo xml:
<?xml version="1.0" encoding="UTF-8" ?>
<Contacts>
<Author>
<FirstName>Joe</FirstName>
</Author>
<Teacher>
<FirstName>Larry</FirstName>
</Teacher>
<Painter>
<FirstName>Mary</FirstName>
</Painter>
</Contacts>