【问题标题】:How to read, store and delete xml data in C#如何在 C# 中读取、存储和删除 xml 数据
【发布时间】: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");

【问题讨论】:

    标签: c# xml save


    【解决方案1】:

    您当前的 XML 文件格式不正确(即保存为 .xml 并用 IE 打开,您会报错)。所以你应该添加&lt;root&gt; ... &lt;/root&gt;(或其他名称)。 总之,我认为处理 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 文件中读取值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 2021-08-02
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    相关资源
    最近更新 更多