【问题标题】:XmlException for the '/' character hex value 0x2F cannot be included in a name'/' 字符十六进制值 0x2F 的 XmlException 不能包含在名称中
【发布时间】:2010-01-12 21:52:17
【问题描述】:

如何解决产生的异常?

        public static string[] getKeywords(string filename)  
        {  
            var xmlFile = new XElement(filename);  
            string[] keywords = xmlFile.Elements("Keyword")
                                       .Attributes("name")
                                       .Select(n => n.Value).ToArray();  
            return keywords;  
        } 

这会产生这个异常:

System.Xml.XmlException 未处理 Message=“/”字符,十六进制值 0x2F,不能包含在名称中。 Source=System.Xml

【问题讨论】:

  • 您的 .xml 文件有问题
  • 哇...前两位用户的前两个答案!
  • nobugz,我认为我的 xml 文件没有问题。一开始我也是这么想的,仔细看了一遍,没有错。
  • 贾斯汀,是的,我知道!他们都是对的!

标签: c# xmlexception


【解决方案1】:

new XElement(filename) 表示创建一个名称来自 filename 的元素 - 你的意思是 XElement.Load(filename) 吗??

【讨论】:

    【解决方案2】:

    您试图将文件名加载为 XML,因此它引发了异常。这就是你想要的;

        public static string[] getKeywords(string filename)
        {
            var xmlFile = XElement.Load(filename);
            string[] keywords = xmlFile.Elements("Keyword").Attributes("name").Select(n => n.Value).ToArray();
            return keywords;
        }
    

    使用 XElement.Load() 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      相关资源
      最近更新 更多