【发布时间】:2018-10-16 16:03:59
【问题描述】:
XML-1
<CurrentStatus>
<Time Stamp= "12:30">
<price>100</price>
<amount>1</amount>
</Time>
<Time Stamp= "14:50">
<price>10</price>
<amount>5</amount>
</Time>
<Time Stamp= "16:30">
<price>10</price>
<amount>5</amount>
</Time>
</CurrentStatus>
XML-2
<CurrentStatus>
<Time Stamp= "17:22">
<price>40</price>
<amount>120</amount>
</Time>
</CurrentStatus>
我首先读取 XML-1,然后尝试将 XML-2 中的 Time 节点插入其中(XML-1):
//Read first XML
XDocument xDoc1 = XDocument.Load(@"D:\myfile1.xml");
//Read second XML
XDocument xDoc2 = XDocument.Load(@"D:\myfile2.xml");
XElement currentTimeNode = xDoc2.Descendants("Time").ToList()[0]; //first decendent
//Append data
xDoc1.AddFirst(currentTimeNode); //This line throws ERROR
问题:我想将节点添加为第一个子节点(添加Time节点的完整块)。 xDoc1.AddFirst(currentTimeNode); 行抛出以下错误:
此操作会创建结构不正确的文档。
【问题讨论】:
-
什么是 XDocCurrent?在不知道那是什么的情况下很难说出正在发生的事情。
-
@BrootsWaymb:对不起,我重命名了变量来问这个问题。
XDocCurrent基本上是xDoc2。更新了我的问题。 -
我正在读取第一个 XML,然后尝试将 XML-2 中的
Time节点插入到XDocument xDoc2。 -- 只是澄清一下,您正试图将其插入xDoc1,对吗? -
@dbc:是的,你是对的。更新了我的问题。
标签: c# xml linq-to-xml