.net - 在 XElement 中获取空格

标签 .net vb.net linq-to-xml whitespace xelement

我知道这有点愚蠢,但我正在转换的 XML 有时有一个元素,它只是一个或两个空格。像这样:

Dim es1 = <Text> </Text>

当我尝试获取 .Value 时像这样的Dim resultText = es1.Value ,它只是一个空字符串。如果元素中有前导和/或尾随空格以及至少一个其他字符,这不是问题。

有没有办法强制.Value如果仅此而已,给我留白吗?

最佳答案

使用 LoadOptions.PreserveWhitespace当您解析 XML 时。 C# 示例代码:

using System;
using System.Xml.Linq;

class Test
{
    static void Main()
    {
        string xml = "<Foo> </Foo>";

        XElement withWhitespace = XElement.Parse(xml,
            LoadOptions.PreserveWhitespace);
        Console.WriteLine(withWhitespace.Value.Length); // Prints 1
        XElement withoutWhitespace = XElement.Parse(xml);
        Console.WriteLine(withoutWhitespace.Value.Length); // Prints 0

    }
}

(显然,这在使用 Load 以及 Parse 等时可用)

我不知道这如何与 VB XML 文字相适应,但我会假设通常您实际上是从文件等中解析:)

关于.net - 在 XElement 中获取空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5811755/

相关文章:

asp.net - 在 Mono 中配置 System.Net 时出现问题

javascript - 如果输入的文本对于自动完成功能有效,如何启用按钮?

asp.net - 将字符串转换为 SqlDbType

c# - 如何在 C# 中读取 XML 文件?

c# - 如何选择节点的所有子节点,而不是所有后代?

c# - 耦合到依赖注入(inject)框架

c# - 如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点

c# - 你调用的对象是空的

c# - Debug vs Release in optimization of .net(分发给用户时的顾虑)

c# - XDocument.Root.Element 返回 null