小编Jay*_*Jay的帖子

为什么'xmlns'属性会影响XPath节点查找?

以下代码完美无缺.请参阅下面的XML文件.

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);
Run Code Online (Sandbox Code Playgroud)

'firstName'的值返回'Joe',这是完美的.但是,当我将这个attibute xmlns ="http://www.w3.org/1999/xhtml"添加到''标签时,它看起来如下:

<Author xmlns="http://www.w3.org/1999/xhtml">
Run Code Online (Sandbox Code Playgroud)

然后代码没有返回正确的值('Joe')为什么然后属性xmlns ="http://www.w3.org/1999/xhtml"影响上面的代码以及我缺少什么来返回正确的值?

任何帮助将不胜感激.

这是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>
Run Code Online (Sandbox Code Playgroud)

c# xml xml-namespaces

5
推荐指数
2
解决办法
1625
查看次数

标签 统计

c# ×1

xml ×1

xml-namespaces ×1