0

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

例如 :

<Book>
    <Title>The Catcher in the Rye</Title>
    <Author>Salinger</Author>
</Book>
Useless jiberish
<Book>
    <Title>Jaws</Title>
    <Author>Benchley</Author>
</Book>

它是完美的 xml,除了“无用的 jiberish”这一行。读取没有任何问题,但是使用 streamwriter 写入

XmlWriterSettings settings = new XmlWriterSettings();
settings.NewLineOnAttributes = true;
settings.Indent = true;

它写得很完美,直到出现“无用的胡言乱语”的那一行

<Book>
    <Title>The Catcher in the Rye</Title>
    <Author>Salinger</Author>
</Book>Useless jiberish<Book><Title>Jaws</Title><Author>Bencheley</Author>

如果我从 xml 文档中删除“无用的乱码”,它就可以完美地工作。但是我没有那个选项。关于为什么会发生这种情况有什么建议/线索吗?我想念的可能真的很简单。

任何建议都有帮助。

谢谢你。

4

1 回答 1

0

您可能会考虑使用 System.Xml.Linq 中的 XDocument 类。加载文件看起来像:

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

        }

可以在此处找到有关 XDocument 的更多信息。

于 2013-10-11T02:23:29.897 回答