我知道这有点傻,但是我要转换的XML有时会包含只有一个或两个空格的元素。就像这样:
Dim es1 = <Text> </Text>
当我尝试获取类似
Dim resultText = es1.Value
的值时,它只是一个空字符串。如果元素中有前导和/或尾随空格以及至少一个其他字符,则不会出现此问题。是否有任何方法可以强制
.Value
在仅存在空格时也返回空格?我知道这有点傻,但是我要转换的XML有时会包含只有一个或两个空格的元素。就像这样:
Dim es1 = <Text> </Text>
Dim resultText = es1.Value
的值时,它只是一个空字符串。如果元素中有前导和/或尾随空格以及至少一个其他字符,则不会出现此问题。.Value
在仅存在空格时也返回空格?在解析XML时使用LoadOptions.PreserveWhitespace
。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
等方法时都可以使用。)使用以下代码加载您的XDocument:
LoadOptions.PreserveWhitespace
Dim TwoSpaces As XElement = <f><%= " " %></f>
Dim s As String = TwoSpaces.Value