代码生成的XML输出中的C#XML格式错误
所以我有一个已经存在的文件,我读取这个文件并向其中添加一些节点。由于所需处理的性质,我的代码处于循环中,因此对于给定数据表中的每一行,我打开现有文件,编写新节点,然后关闭文件 第一次迭代完美地插入了节点组。此后的每一次迭代都是有问题的,并且以某种方式添加到第一个分组中,而不是创建自己的分组 这是每个分组的外观,也是它生成第一个分组的方式:代码生成的XML输出中的C#XML格式错误,c#,xml,formatting,C#,Xml,Formatting,所以我有一个已经存在的文件,我读取这个文件并向其中添加一些节点。由于所需处理的性质,我的代码处于循环中,因此对于给定数据表中的每一行,我打开现有文件,编写新节点,然后关闭文件 第一次迭代完美地插入了节点组。此后的每一次迭代都是有问题的,并且以某种方式添加到第一个分组中,而不是创建自己的分组 这是每个分组的外观,也是它生成第一个分组的方式: <item identifier="ITEM-F2D7FEDF240B4DCCBF346DBE2C47AC89" identifierref="RE
<item identifier="ITEM-F2D7FEDF240B4DCCBF346DBE2C47AC89" identifierref="RES-770DCE40C5BA4E97B1E3B3DB49BBBD4F" isvisible="true" parameters="">
<title>Title1</title>
<adlcp:datafromlms xmlns:adlcp="http://www.imsproject.org/xsd/imscp_rootv1p1p2">
</adlcp:datafromlms>
</item>
这就是问题所在:
docXMLFile.GetElementsByTagName("item")[0]
.InsertAfter(xTitle,
docXMLFile.GetElementsByTagName("item")[0].LastChild);
docXMLFile.GetElementsByTagName("item")[0]
.InsertAfter(xADLCPDataFromLMS,
docXMLFile.GetElementsByTagName("item")[0].LastChild);
您显式地使用了第一个项元素。我想你真的只是想:
xItem.AppendChild(xTitle);
xItem.AppendChild(xADLCPDataFromLMS);
毕竟,您要做的是将元素附加到新创建的项
元素,对吗?这正是我想要的。我不知道我为什么不这样做!
docXMLFile.GetElementsByTagName("item")[0]
.InsertAfter(xTitle,
docXMLFile.GetElementsByTagName("item")[0].LastChild);
docXMLFile.GetElementsByTagName("item")[0]
.InsertAfter(xADLCPDataFromLMS,
docXMLFile.GetElementsByTagName("item")[0].LastChild);
xItem.AppendChild(xTitle);
xItem.AppendChild(xADLCPDataFromLMS);