에 부하가 너무 큰 XML 파일 나는 XML 파일의 URL을 읽기 위해이 코드를 작성 않았다하여 XDocument 수요
XDocument feedXml = XDocument.Load("url address of xml file here");
var feeds = from feed in feedXml.Descendants("List")
select new Event {
Id = Int32.Parse(feed.Element("ID").Value),
Name = feed.Element("Name").Value,
City = feed.Element("City").Value
};
return feeds;
내 문제는 파일이 (40메가바이트에 대해) 너무 크고 너무 많은 시간이 걸릴 것입니다 로드합니다. 그래서 XML 파일을 읽으려면 XmlReader를 사용하고 있지만이 방법은 필요에 따라 모든 페이지 (예 : 10)의 레코드를로드하는 방법을 모르기 때문에 전체 파일을 읽고 다른 레코드를 건너 뜁니다 적절한 요소에 도달하기 위해선 안될까요?
string XmlFileUrl = @"url address of xml file here";
using (XmlReader reader = new XmlTextReader(XmlFileUrl))
{
bool openItem = false;
Event item = new Event();
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name == "List")
{
item = new Event();
openItem = true;
}
else if (reader.Name == "Name" && openItem)
item.Name = reader.ReadElementContentAsString();
...
}
else if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "List" && openItem)
{
openItem = false;
feeds.Add(item);
}
}
}
모든 페이지, 또는 어떤 제안에 바로 필요한 데이터를로드하는 페이징과 JSON으로 XML 파일을 JQuery와 아약스를 사용하거나 변환 할 수있는 방법이 있나요?