【问题标题】:What is the .Net 2.0 equivalent of xElement.Parse (string)xElement.Parse(字符串)的 .Net 2.0 等效项是什么
【发布时间】:2013-05-03 03:28:06
【问题描述】:

我有 C# .Net 4.0 中的代码,我需要在使用 .Net 2.0 框架的计算机上工作。基本上,它所做的是从服务器读取数据行。一行看起来像这样:

<REC CNT="5275" TIME="-66520.287" TIME_TICK="0" FPOGX="0.00000" FPOGY="0.00000" FPOGS="0.000" FPOGD="0.000" FPOGID="0"/>

我使用 XElement.Parse 函数将这些行添加到 XML 文档中。断开连接后,数据已保存。

XElement xmlDoc = new XElement("Data");

do
    //dataLine is a string obtained each iteration by reading from a network stream
    XElement xmlDataLine = XElement.Parse(dataLine);
    xmlDoc.Add(xmlDataLine)
while (!stopClient)

xmlDoc.Save(fileName)

如何在 .Net 2.0 中做到这一点?

【问题讨论】:

    标签: c# xml .net-2.0


    【解决方案1】:

    您可以使用XmlDocument.LoadXml,但您需要将根元素导入目标文档:

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlDataLine);
    XmlNode imported = xmlDoc.ImportNode(doc.DocumentElement, true);
    xmlDoc.DocumentElement.AppendChild(imported);
    

    【讨论】:

      【解决方案2】:

      你最好使用XmlDocument;

      XmlDocument doc = new XmlDocument();
      XmlElement root = (XmlElement)doc.AppendChild(doc.CreateElement("Data"));
      
      do {
          string dataLine = ...;
          using(XmlReader reader = XmlReader.Create(
              new StringReader(dataLine)))
          {
              root.AppendChild(doc.ReadNode(reader));
          }
      } while (!stopClient);
      doc.Save(target);
      

      【讨论】:

        猜你喜欢
        • 2010-09-21
        • 2018-03-29
        • 2016-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多