C# 在XML中,如何忽略没有标记包围的悬空文本?

C# 在XML中,如何忽略没有标记包围的悬空文本?,c#,xml,file-io,io,xmlwriter,C#,Xml,File Io,Io,Xmlwriter,我遇到了这个问题,我正在阅读的xml文件可能有悬空文本(我不知道没有任何标记的文本的名称) 例如: <Book> <Title>The Catcher in the Rye</Title> <Author>Salinger</Author> </Book> Useless jiberish <Book> <Title>Jaws</Title> <Aut

我遇到了这个问题,我正在阅读的xml文件可能有悬空文本(我不知道没有任何标记的文本的名称)

例如:

<Book>
    <Title>The Catcher in the Rye</Title>
    <Author>Salinger</Author>
</Book>
Useless jiberish
<Book>
    <Title>Jaws</Title>
    <Author>Benchley</Author>
</Book>
它写得很完美,直到有一行“无用的胡言乱语”


麦田里的守望者
塞林格
无用的jiberishJawsBencheley
如果我从xml文档中删除“无用的jiberish”,它将非常有效。然而,我没有这个选择。关于为什么会发生这种情况,有什么建议/线索吗?这可能是我错过的一件很简单的事情

任何建议都有帮助


谢谢。

您可以考虑使用System.Xml.Linq中的XDocument类。加载该文件的外观如下所示:

        string file = @"c:\test\movies.xml";
        XDocument doc = XDocument.Load(file);
        foreach (XElement e in doc.Root.Descendants())
        {

        }

有关XDocument的更多信息,请参见。

您是在阅读还是在写xmlI两者兼而有之的文章。从我看来,读数处理得很好。但是,当我使用MemoryStream写回xml时,它没有正确地写回
<Book>
    <Title>The Catcher in the Rye</Title>
    <Author>Salinger</Author>
</Book>Useless jiberish<Book><Title>Jaws</Title><Author>Bencheley</Author>
        string file = @"c:\test\movies.xml";
        XDocument doc = XDocument.Load(file);
        foreach (XElement e in doc.Root.Descendants())
        {

        }