我正在尝试将一些值存储到一个 xml 文件中。我已经创建了一个 Xml 文件并试图覆盖数据。给出代码..
/*storepassword.cs *//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
public class StorePassword
{
public StorePassword()
{
}
public void store(NewPassword nps)
{
XmlDocument XmlDoc = new XmlDocument();
//XmlDoc.Load(@"Password.xml");
XmlDoc.LoadXml("Password.xml");
XmlNode root = XmlDoc.DocumentElement;
XmlNode myNode1 = root.SelectSingleNode("UserName");
XmlNode myNode2 = root.SelectSingleNode("PassWord");
myNode1.Value = "sjn";
myNode2.Value = "sjn123";
XmlDoc.Save(@"Password.xml");
}
}
//NewPassword.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class NewPassword
{
public NewPassword()
{
}
public string username{ get; set; }
public string Password{ get; set; }
}
点击按钮..
NewPassword nps = new NewPassword();
nps.username = TxtUser.Text;
nps.Password = TxtNewPassword.Text;
StorePassword sp=new StorePassword();
sp.store(nps);
现有的 Xml 文件包含以下内容..
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
<UserName>abc</UserName>
<PassWord>123</PassWord>
</ROOT>
但是没用..
Data at the root level is invalid. Line 1, position 1
发生这个错误..
我将代码更改为 XmlDoc.Load(@"Password.xml");
现在错误更改为
Root element is missing.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Xml.XmlException: Root element is missing.
为什么会这样?
最佳答案
尝试使用 XML 序列化:
public static partial class ObjectXMLSerializer<T> where T : class
{
private static void SaveToDocumentFormat(T serializableObject, System.Type[] extraTypes, string path, IsolatedStorageFile isolatedStorageFolder)
{
using (TextWriter textWriter = CreateTextWriter(isolatedStorageFolder, path))
{
XmlSerializer xmlSerializer = CreateXmlSerializer(extraTypes);
//Cuong: set name space to null
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
xmlSerializer.Serialize(textWriter, serializableObject, ns);
}
}
public static void Save(T serializableObject, string path)
{
SaveToDocumentFormat(serializableObject, null, path, null);
}
}
关于c# - 使用 Asp-C 写入 Xml 文件#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13192378/