c# - 以空格作为 InnerText 的 Xml

标签 c# xml whitespace

我正在解析具有如下条目的 Xml 数据:

<item name="UserText" type_name="gh_string" type_code="10">      </item>

我应该将 6 个空格作为字符串读取,但 System.Xml.XmlNode 的 InnerText 和 InnerXml 值都是零长度字符串。

有什么方法可以获取现有文件中的空白数据,将来我需要做什么来防止出现这种问题?

最佳答案

XML 会忽略该空格。如果你需要保留它,你应该在你的元素中插入一个 xml:space="preserve" 属性。像这样的东西,我认为它会在使用 XML 的任何地方保留你的空白。

<item xml:space="preserve" name="UserText" type_name="gh_string" type_code="10">      </item>

另一个适用于 LINQ-to-XML 的选项是使用 PreserveWhitespace 加载选项。示例:

XElement element = XElement.Parse(xml, LoadOptions.PreserveWhitespace);

您还应该能够将空格包装在 CData 标记中,尚未测试。

关于c# - 以空格作为 InnerText 的 Xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2783693/

相关文章:

c# - 在 node.js 服务器和 C# 客户端之间进行通信的最佳方式是什么?

regex - 使用 perl 拆分可能包含空格的行

Python 解析带有 HTML 内容的 XML 文件

php - 获取 PHP 中所有 UTF-8 空白字符的完整列表的最简单方法

eclipse - 在 IntelliJ Idea 中仅显示尾随空格

c# - ASP.NET WebAPI 2 : How to pass empty string as parameter in URI

c# - 最小起订量测试无效方法

c# - ASP.NET MVC3 : DisplayTemplates does not show model value (MVC3 Partial Page)

在 C/C++ 中将字符串转换为不同的数据类型

java - 将 Java 对象映射到 @XmlElement 值