如何从另一个网站保存和读取 xml 文件

本文关键字:读取 xml 文件 保存 网站 另一个 | 更新日期: 2023-09-27 18:32:33

>我有这个链接:http://www.bnro.ro/nbrfxrates.xml 到一个带有每日货币的xml文件。

我想将此xml保存在我网站的文件夹中,例如(~/Content/CurrencyXml(。

我想每天保存它,第一次在用户访问我的网站时(必须替换旧文件(。

我还想在一个静态方法中读取它,该方法返回一个具有每种货币类型(如属性(的对象,以便访问如下所示的内容:

price=model.Eur * 100;

你能帮我举一个如何保存此xml的副本以及如何读取它的示例吗?

如何从另一个网站保存和读取 xml 文件

您可以尝试这样的方式来读取文件并保存它

public void readFile()
{
       XmlDocument document = new XmlDocument();
       document.Load("http://www.bnro.ro/nbrfxrates.xml");
       document.Save(Path.Combine(
       Server.MapPath("~/Content/CurrencyXml"),"myFile.xml"));
}

在这里,您可以找到非常有用的信息:

Xml文档Microsoft

下面是

Windows服务的示例:

演练:在组件设计器中创建 Windows 服务应用程序

下面是如何使用 WebClient 下载 xml 的示例:

如何使用 C# 下载 XML 文件?

下面是有关如何将文件保存到服务器的示例:

C# 将文件保存到服务器上的文件夹,而不是本地文件夹

然后使用@Augustin建议的内容。

如果您确实使用标志文件方案,我建议将 xml 文件保存到临时文件中,并且只有在完全下载后,覆盖原始文件并确保处理锁定、覆盖时间等......另一种解决方案是使用保存当前文件名的 temp 变量,当您下载新文件时,只需为其指定一个新名称,下载时,将该变量名称设置为新文件名,并确保加载函数使用该变量并从新文件名加载数据。不要忘记删除旧文件,但至少它可以避免锁定问题(如果有(,并且您可以随时尝试稍后再次删除该文件。

如果将在很大程度上取决于您的网站是否可以访问 24/7。如果不是,则问题不大,因为当您知道此文件未被使用时,您可以使用Windows服务下载此文件。如果您在使用Windows服务时使用,则与上述相同。如果使用的是 Azure,则可以使用 Web 作业。我相信有许多不同的解决方案可以解决这个问题,你只需要找到一个可以满足你需求的解决方案。