3

我有 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 中做到这一点?

4

2 回答 2

3

你最好使用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);
于 2013-05-08T19:20:09.443 回答
1

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

XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlDataLine);
XmlNode imported = xmlDoc.ImportNode(doc.DocumentElement, true);
xmlDoc.DocumentElement.AppendChild(imported);
于 2013-05-08T19:19:06.293 回答