如何在XmlDocument的LoadXml()方法中保留空行?
使用XmlDocument保留换行空行的解决方案
完全可以仅通过XmlDocument实现需求,无需切换到XDocument,核心是通过配置XmlReaderSettings来保留空白字符,具体操作如下:
- 创建
XmlReaderSettings实例,将PreserveWhitespace属性设为true - 通过
XmlReader.Create()方法,传入目标字符串(需先转为StringReader)和配置好的Settings - 调用XmlDocument的
Load()方法加载这个XmlReader,替代默认的LoadXml()方法
示例代码:
string xmlContent = "你的带换行和空行的XML字符串"; XmlDocument doc = new XmlDocument(); XmlReaderSettings settings = new XmlReaderSettings(); settings.PreserveWhitespace = true; using (StringReader sr = new StringReader(xmlContent)) using (XmlReader reader = XmlReader.Create(sr, settings)) { doc.Load(reader); }
处理后,原字符串中的连续\r\n(空行)会被保留在XmlDocument的节点中,后续操作时这些空白节点不会被自动移除。如果XML本身包含<xml:space="preserve">属性,该配置会与属性协同生效,确保所有指定空白都被保留。
内容的提问来源于stack exchange,提问作者RicardoP
相关产品推荐
相关产品推荐

