在 XML 中,如何忽略未被标记包围的悬空文本
本文关键字:包围 文本 XML 何忽略 | 更新日期: 2023-09-27 18:34:47
我遇到了这个问题,我正在阅读的 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"行。读取没有任何问题,但是使用流编写器写入
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文档中删除"无用的jiberish",它可以完美运行。但是我没有那个选择。是否有任何建议/线索说明为什么会发生这种情况?我错过的可能真的很简单。
任何建议都会有所帮助。
谢谢。
你可以考虑使用System.Xml.Linq中的XDocument类。 加载文件将如下所示:
string file = @"c:'test'movies.xml";
XDocument doc = XDocument.Load(file);
foreach (XElement e in doc.Root.Descendants())
{
}
有关XDocument的更多信息可以在这里找到。