好吧,看来我有这个问题的答案,但我错了。可能是因为我问错了。这是我想要做的:我想获取一个 xml 文档并将其拉入内存。然后,我想随意对该文档运行查询并从中获取信息。每当我需要数据而不将文档再次加载到内存中时,我都想这样做。毕竟,关键是在我需要数据时停止访问磁盘。我一直使用的方法只能工作一次,我需要多次这样做。这是我尝试过的代码:
public static class GrabFile
{
public static XDocument configData = XDocument.Load(@"myxml.xml");
public static XmlReader templateReader = configData.CreateReader();
}
我认为这会将文档复制到内存中,并且我可以随时使用 templateReader 来查询 configData:
while (GrabFile.templateReader.Reader())
{
//get the data I wanted
}
我想我可以把那个while语句放在一个方法中,并创建其他人来做特定的查询,并在我需要信息的时候调用它们。但它只能工作一次。
正如我所说,我对此并不太熟悉,所以可能有一种简单的方法。
此外,另一个线程中的人想要一个关于 xml 文档中内容的示例。那是无关紧要的。关键是我想将文档放入内存,然后根据需要多次查询它,而无需从磁盘访问它并创建另一个阅读器。是的,我想为此使用阅读器。
也许我需要将内存中文件中的指针移回顶部,以便再次读取它?
谢谢你的帮助。