我有一个不断追加到的XML文件。我需要重复读取XML中的数据,但是在每次传递时我都不想检索上一次运行中处理的数据。从指定的起始位置读取XML文件
由于我知道文件在处理时间有多长,我想我可以使用文件的长度(减去结尾/联系人标记)来确定我最后一次离开的位置。了解这一点,从文件中的特定字节位置开始检索所有联系人标记的最佳方法是什么?
<?xml version="1.0"?>
<Contacts>
<Contact>
<Name>Todd</Name>
<Email>[email protected]</Email>
</Contact>
<Contact>
<Name>Sarah</Name>
<Email>[email protected]</Email>
</Contact>
</Contacts>
这段代码抓住了所有的联系人。我想限制它,所以它只有第一次接触(在116个字节)的数据后,拿起
var xdoc = XDocument.Load(PATH_TO_FILE);
var contact = xdoc.Descendants("Contact").Select(x => (string)x).ToArray();
只是出于好奇:你为什么不使用数据库呢? –
XML是我无法更改的供应商产品的输出。该请求是生成一个近乎实时的解析这些XML文件的方法,然后处理其中的数据。 – Rethic