【问题标题】:XDocument problematic charactersXDocument 有问题的字符
【发布时间】:2010-11-22 06:46:57
【问题描述】:

我正在使用 XDocument 来描述文件夹名称树。
某些文件夹有特殊字符,例如“'”,我收到 XmlException 说这些字符不能包含在名称中。
我在文档的构造中添加了以下声明:
public XDocument file= new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
但我仍然得到例外。我将不胜感激任何可以使工作舒适的解决方案。

谢谢。

【问题讨论】:

    标签: c# linq-to-xml


    【解决方案1】:

    ' 替换为'

    完整列表请参见http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

    请注意,这些默认情况下并非都适用于 XML(另请参阅 Wikipedia 页面)。其中大部分都必须定义。默认情况下只有以下工作:

    ' => '
    " => "
    & => &
    > => >
    &lt; => <
    

    【讨论】:

    • 您好,谢谢!你能发布一个完整的此类字符集合的链接吗?
    • 我已经添加了这些替换,但现在由于 & 字符引发了同样的异常......我做错了什么?
    • 请粘贴导致您遇到问题的 XML 示例。
    • 例如,将“Sam's bug”改为“Sam's_bug”后,创建节点:XElement xNode = new XElement("Sam&amp;apos;s_bug");
    • 在节点名称中,这些结构是非法的。请参阅w3.org/TR/REC-xml/#d0e804 了解更多信息。
    【解决方案2】:

    您不能在元素名称或属性名称中使用这些字符。您只能在属性值、XText 对象或 CDATA 部分中指定它们(当然,只要它们是经过编码的)。

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 2013-11-03
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      相关资源
      最近更新 更多