XmlDocument中我已经将: XmlDocument.PreserveWhitespace 设为 true, 为什么还是不能保存换行, 空格 ?如果字符中间夹着换行或空格可以保存, 如果光是空格和换行, 保存后, 再读取时就消失了!

解决方案 »

  1.   

    转义一下特殊字符需要特殊处理  和HTML原理一样
      

  2.   

    页面上的空格是&nbsp;换行是<br>不是你想象的那种输入时的回车
      

  3.   

    PreserveWhitespace = true的行为就是你描述的行为,对于整个是空白的(没有任何其他字符)就什么也没有了。这个不是BCL的问题。
      

  4.   

    net_lover 你好:
    我保存XmlDocument时把 回车 换成 <br>, 把 空格 换成 &nbsp? 那读取时, 再转换回来? 有没有简单的办法?lextm 你好:
    PreserveWhitespace = true 就是我描述的行为, 这个属性能不能实现我的要求呢? 保存时保留回车, 空格 (当某标记内容仅有空格或回车时)
      

  5.   

    发现, PreserveWhitespace 是管带不带行间空白的. 
    现在问题, 还没有解决呢, 如果保留回车, 换行.
      

  6.   

    空格是 
    &#32;replace 一下要还原在replace一下 不就OK了
      

  7.   

    //给节点添加whitespace
    XmlSignificantWhitespace Fspace = dom.CreateSignificantWhitespace("\t");
    XmlSignificantWhitespace Lspace = dom.CreateSignificantWhitespace("\r\n");
    dom.DocumentElement.InsertAfter(Fspace, dom.DocumentElement.FirstChild);
    dom.DocumentElement.InsertAfter(Lspace, dom.DocumentElement.LastChild);