gpt4 book ai didi

c# - XDocument.Save 方法中的问题

转载 作者:行者123 更新时间:2023-11-30 22:15:43 24 4
gpt4 key购买 nike

我正在尝试在现有的 XMl 文件中插入数据。我有以下代码。

        string file = MapPath("~/XMLFile1.xml");
XDocument doc;
//Verify whether a file is exists or not
if (!System.IO.File.Exists(file))
{
doc = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
new System.Xml.Linq.XElement("Contacts"));
}
else
{
doc = XDocument.Load(file);
}
foreach (var c in MyContactsLst)
{
//var contactsElement = new XElement("Contacts",
var contactsElement = new XElement("Contact",
new XElement("Name", c.FirstOrDefault().DisplayName),
new XElement("PhoneNumber", c.FirstOrDefault().PhoneNumber.ToString()),
new XElement("Email", "abc@abc.com"));
doc.Root.Add(contactsElement);
doc.Save(file);
}

第一个问题是在代码的第一行,即 MapPath("~/XMLFile1.xml"); 它给了我一个错误

The name 'MapPath' does not exist in the current context

第二个问题在 doc.Save(file); 它给了我一个错误

The best overloaded method match for 'System.Xml.Linq.XDocument.Save(System.IO.Stream)' has some invalid arguments

我已经引用了这个问题How to insert data into an existing xml file in asp.net?

我正在学习 XML。那么,我该如何解决呢?

最佳答案

MapPath在当前上下文中不存在的原因是因为它是HttpServerUtility类的方法,据我所知,它不支持Windows 手机。

尝试像这样加载 XDocument:

XDocument xdocument = XDocument.Load("XMLFile1.xml");

编辑:您在保存文档时遇到错误。这是相关主题的答案:

using (var storage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (Stream stream = storage.CreateFile("data.xml"))
{
doc.Save(stream);
}
}

关于c# - XDocument.Save 方法中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com