当前位置:编程学习 > C#/ASP.NET >>

求教!Excel导出成xml后,动态获得所有namespace的prefix失败。

一个空白Excel,比如Excel2003导出成book1.xml。
以前我在网上搜索到一段代码,动态把所有namespace的prefix都抓出来。昨天正好把Excel导出的xml读取,发现得不到prefix。
原始代码:
public static  XmlNamespaceManager PrepopulateNamespaces(XmlDocument document)
        {
            XmlNamespaceManager result = new XmlNamespaceManager(document.NameTable);
            var namespaces = (from XmlNode n in document.SelectNodes("//*|@*")
                              where n.NamespaceURI != string.Empty
                              select new
                              {
                               Prefix = n.GetPrefixOfNamespace(n.NamespaceURI),
                              
                                  Namespace = n.NamespaceURI
                              }).Distinct();
            XmlNodeList xl=document.SelectNodes("//*|@*");
          
     

            foreach (var item in namespaces)
            {
            
             result.AddNamespace(item.Prefix, item.Namespace);
            
                Console.WriteLine(item.Prefix.ToString()+" ----- "+item.Namespace.ToString());
            }

            return result;
        }
这里我debug时发现prefix居然是string.empty。
请教我该如何才能动态得到所有prefix呢? x XML 命名空间 Excel
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,