c# - 如何在不将整个文档加载到内存的情况下处理 Xml 文件?

标签 c# xml

如何在不将整个文档加载到内存的情况下添加新节点、更新现有节点和删除现有节点?

我有一个 xml 文档并将其视为我的应用程序的内存,因此需要能够在不加载整个文档的情况下快速进行数百次读取和写入。

它的结构是这样的:

<spiderMemory>
  <profileSite profileId="" siteId="">
    <links>
      <link>
        <originalUrl></originalUrl>
        <isCrawled></isCrawled>
        <isBroken></isBroken>
        <isHtmlPage></isHtmlPage>
        <firstAppearedLevel></firstAppearedLevel>
      </link>
    </links>
  </profileSite>
</spiderMemory>

XDocument 怎么可能?

谢谢

最佳答案

如果您想快速进行数百次读写……您可能使用了错误的技术。您是否尝试过使用普通的旧 RDBMS?

如果您仍然需要 XML 表示,那么您可以创建一个导出方法以从数据库中生成它。

XML 并不是解决这类问题的好方法。只是说。

另外...将整个事情都放在内存中有什么问题?它可能有多大?说1GB?忍住吧。说 1TB?哎呀。但是在那种情况下,XML 无论如何都是错误的,错误的,错误的;)太冗长了!

关于c# - 如何在不将整个文档加载到内存的情况下处理 Xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10719281/

相关文章:

android - 当从单独的类调用 PopupWindow 方法时,如何从 xml 文件在 PopupWindow 中定义布局

java - 仅当某些标签可用时才解析 XML 响应

python - 如何在python中查找元素树中元素的数量?

c# - 重定向到另一个未在路由中注册的 Controller /操作

c# - 控制台应用程序中的异步

c# - MVC 6 中的 HtmlHelpers

c# - 如何在 XNA 中的 3D 地形上画一个圆圈?

xml - Biztalk 映射 : Grouping different nodes into a list

c# - 在 SDK 中使用 log4net

php - 如何通过xpath从网站获取标题?