如何在 C# 中读取、存储和删除 xml 数据
Posted
技术标签:
【中文标题】如何在 C# 中读取、存储和删除 xml 数据【英文标题】:How to read, store and delete xml data in C# 【发布时间】:2011-09-12 10:21:48 【问题描述】:<SMSWall run="yes" nonstop="False">
<starttime>10:15:25 PM</starttime>
<endtime>10:15:25 PM</endtime>
</SMSWall>
<MediaPlayer run="yes" nonstop="False">
<starttime>10:15:25 PM</starttime>
<endtime>10:15:25 PM</endtime>
</MediaPlayer>
<Bidding run="yes" nonstop="False">
<starttime>10:15:25 PM</starttime>
<endtime>10:15:25 PM</endtime>
</Bidding>
这是我的 xml 文件。现在我想读取 xml,将值存储在变量中(并且还希望从字符串中读取数据),然后保留 .xml 文件以便可以将其删除。我还想像读取节点一样明智地读取值:
XmlDocument document = new XmlDocument();
document.Load("Schedule.xml");
XmlNode ht=document.SelectSingleNode("SMSWall/@run");
【问题讨论】:
【参考方案1】:您当前的 XML 文件格式不正确(即保存为 .xml 并用 IE 打开,您会报错)。所以你应该添加<root> ... </root>
(或其他名称)。
总之,我认为处理 XML 的最佳方法是使用 System.Xml.Linq 库,例如 XDocument
和 XElement
:
Loading data: XDocument.Load(filename);
Creating item: XElement root = new XElement("Root");
Searching: document.Descendants("Root"), ...
有关其他示例,请参阅 MSDN。
【讨论】:
okey 这是我的 .xml 文件的一部分。我只想知道我已经使用该代码读取了这些值。但是如果我将它们存储在数据集中,我该如何做同样的事情。 【参考方案2】:我更喜欢创建一个DataSet
,然后像这样使用它:
DataSet1 ds = new DataSet1();
ds.ReadXml("test.xml", XmlReadMode.ReadSchema);
//do something
ds.WriteXml("test.xml", XmlReadMode.ReadSchema);
键入的DataSet
将为您提供键入的表和行。您可以通过索引或查询获取行。你可以找到更多关于here的信息。
【讨论】:
好吧。我已经看过这样的帖子。但问题是我如何从数据集中读取值,因为我正在从 .xml 文件中读取。并且还读取单个节点. 嘿 thnx 的帮助。我能在单词之后做什么,我的意思是如何从 .xml 文件中读取值。以上是关于如何在 C# 中读取、存储和删除 xml 数据的主要内容,如果未能解决你的问题,请参考以下文章
请问如何从数据库中读取一个存储过程并把查询结果生成一个xml文件(c#)
c#中怎样读取xml文件中的数据,怎样动态将数据存储到xml文件中去?