xmlns属性不会让我解析

我一直试图在最后一小时解析这个XML文件

  MEDO PUB   4D45444F20505542 MEDO PUB   ESS manual    WPA2PSK AES false   passPhrase true someReallyLongString     

但我一直都有错误。 这是一个保存的Wi-Fi配置文件,我使用Managed Wifi API导出XML文件。 后来,我想解析并读取XML文件中的一些数据。 我不能。 在承认失败之后,我没有别的尝试,只能修改XML文件。 所以我尝试解析

   MEDO PUB  

它工作。 xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"造成了麻烦。 这是为什么?

我将生成XML并在运行时从中读取,因此我无法从XML文件中手动打开和删除该部分。 我怎样才能解决这个问题?


使用:

Visual C#2010 Express(非多function一体机,单独安装)

Windows 8.1 Pro x64

 XmlDocument doc = new XmlDocument(); doc.Load("c:/key.xml"); XmlNode node = doc.DocumentElement.SelectSingleNode("//WLANProfile/name"); XMLOutput.Text = node.InnerText; 

xmlns="...."默认命名空间 (未加前缀的命名空间声明)。 请注意,除非另有说明,否则后代元素会隐式inheritance祖先默认命名空间。 这意味着,在这个特定的XML中, 所有元素都在默认命名空间中。

要使用XPath在命名空间中选择元素,您需要首先注册指向相应命名空间的前缀,然后在XPath中正确使用已注册的前缀:

 XmlDocument doc = new XmlDocument(); doc.Load("c:/key.xml"); var nsManager = new XmlNamespaceManager(doc.NameTable); nsManager.Add("d", "http://www.microsoft.com/networking/WLAN/profile/v1"); XmlNode node = doc.DocumentElement.SelectSingleNode("//d:WLANProfile/d:name", nsManager); XMLOutput.Text = node.InnerText;