用SelectSingleNode()方法查找xml節點一直返回null


代碼使用如下

XmlNode root = xmlDoc.SelectSingleNode("Project");

返回的root一直是null

查了xml文件中確實是有Project節點,部分內容如下

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

原因是節點上聲明了命名空間,所以在訪問的時候也要使用命名空間,加入如下代碼

XmlNamespaceManager nsMgr = new XmlNamespaceManager(xmlDoc.NameTable);
                nsMgr.AddNamespace("ns", "http://schemas.microsoft.com/developer/msbuild/2003");

查找節點的時候則需要使用命名空間

XmlNode root = xmlDoc.SelectSingleNode("/ns:Project",nsMgr);

這樣就能找到了

多謝http://stackoverflow.com/questions/1766254/selectsinglenode-always-returns-null


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM