Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在循环中组合xmls文件并删除不需要的节点_C#_Xml - Fatal编程技术网

C# 在循环中组合xmls文件并删除不需要的节点

C# 在循环中组合xmls文件并删除不需要的节点,c#,xml,C#,Xml,我试图通过一个循环组合多个xml文件。 我将第一个XML放在一个字符串中,然后将下一个XML添加到同一个字符串中。 我确实先删除xml声明,然后再使用 XmlDocument doc = new XmlDocument(); doc.LoadXml(currentdaydata); var declarations = doc.ChildNodes.OfType<XmlNo

我试图通过一个循环组合多个xml文件。 我将第一个XML放在一个字符串中,然后将下一个XML添加到同一个字符串中。 我确实先删除xml声明,然后再使用

                   XmlDocument doc = new XmlDocument();
                    doc.LoadXml(currentdaydata);
                    var declarations = doc.ChildNodes.OfType<XmlNode>()
                    .Where(x => x.NodeType == XmlNodeType.XmlDeclaration)
                    .ToList();


                    declarations.ForEach(x => doc.RemoveChild(x));
XmlDocument doc=新的XmlDocument();
doc.LoadXml(currentdaydata);
var声明=doc.ChildNodes.OfType()
.Where(x=>x.NodeType==XmlNodeType.XmlDeclaration)
.ToList();
ForEach(x=>doc.RemoveChild(x));
每个xml响应的格式如下所示,但我似乎无法删除根元素

xml 1 = <response><movie>....<movie></response>
xml 2 = <response><movie>....<movie></response>
xml 3 = <response><movie>....<movie></response>

outputdata += xml(i);

outputdata =
<response><movie>....<movie></response><response><movie>....<movie></response><response><movie>....<movie></response>
xml1=。。。。
xml 2=。。。。
xml 3=。。。。
outputdata+=xml(i);
输出数据=
............
我试着用一根绳子替换掉它,但没有成功

outputdata.Replace("</response><response>", "");
outputdata.Replace(“,”);

..

不要试图将XML作为字符串来处理:迟早你会得到一些你无法处理的输入,或者你会产生一些你的客户无法处理的输出,而由此产生的问题会让我们忙上好几年。始终使用真正的XML解析器,即使是最简单的作业

如果您下载了一个XQuery处理器,如Saxon,那么您可以作为一个单行程序执行此操作:

<response>{$docs/response/*}</response>
{$docs/response/*}

当$docs作为解析输入文档序列提供时,

不要只告诉我们它失败了(“但没有运气”)。告诉我们它是如何失败的-诊断任何问题的第一步是查看症状。在根目录下有一组元素。格式良好的xml只有一个根,没有数组。有两种解决方案1)添加单个根:string results=“+您的xml字符串+;2)使用xmlreader并将xmlreadersettings设置为使用片段选项。