从XDocument XElement.Value中删除换行符

时间:2016-04-10 19:23:10

标签: c# linq-to-xml

给出以下XML:

<Samples>
    <Sample>
        <Text>
            This is example #1
        </Text>
        <Author>
            Author 1
        </Author>
    </Sample>       
    <Sample>
        <Text>This is Example #2</Text>
        <Author>Author 2</Author>
    </Sample>
</Samples>  

示例C#加载代码:

var doc = XDocument.Load(Path.Combine(HostingEnvironment.ApplicationPhysicalPath, @"App_Data\Samples.xml"), LoadOptions.None);

var results = (from node in doc.Root?.Elements("Samples")
    select new Sample()
    {
        Author = node.Element("Author")?.Value,
        Text = node.Element("Text")?.Value
    }).ToList();

有没有办法在加载时忽略XElement节点值中的换行符?我最终在第一个例子的值中有额外的换行符,因为格式化了源。

我知道我可以在select中手动执行以下操作,但我想知道是否有更有效的方法可以处理文件中的所有元素。

Author = node.Element("Author")?.Value.Replace("\r", "").Replace("\n", "")

0 个答案:

没有答案