Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
xsd中的数据集生成包含孤立子项的xml_Xml_Xsd_Dataset_Orphan - Fatal编程技术网

xsd中的数据集生成包含孤立子项的xml

xsd中的数据集生成包含孤立子项的xml,xml,xsd,dataset,orphan,Xml,Xsd,Dataset,Orphan,我的需求是基于xsd和一组与xsd中不同节点相关联的查询加载并生成xml文件。 它还需要对数据进行分页,以便将xml拆分为多个文件,但保持顶部节点的完整性(我指的是根节点之后的下一个级别)。 我的方法是用数据加载数据集。如果不需要分页,那么一切都可以,但是当包含分页时,我会得到顶层节点下所有级别的孤立节点。我认为拥有所有关系的数据集可以防止孤立行。 有没有办法确保结果没有孤儿 这是我的代码摘要: for (int page = 1; page <= pages; page++) {

我的需求是基于xsd和一组与xsd中不同节点相关联的查询加载并生成xml文件。 它还需要对数据进行分页,以便将xml拆分为多个文件,但保持顶部节点的完整性(我指的是根节点之后的下一个级别)。 我的方法是用数据加载数据集。如果不需要分页,那么一切都可以,但是当包含分页时,我会得到顶层节点下所有级别的孤立节点。我认为拥有所有关系的数据集可以防止孤立行。 有没有办法确保结果没有孤儿

这是我的代码摘要:

for (int page = 1; page <= pages; page++)
{
    foreach (DataTable dataTable in dataSetSchema.Tables)
    {
        if (dataTable.TableName == releasedOutput.PartitionNode)
        {
            var pagedSql = @"WITH pagingOutputSchema As ( SELECT ROW_NUMBER() OVER(ORDER BY idnkey) as RowNumber, idnkey FROM {0} )
SELECT *
FROM {0} INNER JOIN
pagingOutputSchema ON {0}.idnkey = pagingOutputSchema.idnkey
WHERE pagingOutputSchema.RowNumber BETWEEN ({1} - 1) * {2} + 1  AND {1} * {2} 
ORDER BY 1".FormatWith(tmpFullTableName, page, rowsPerPage);
            _schemaXMLHandler.FillTableInDataSet(releasedOutput.Prefix, pagedSql, dataSetSchema, partitionNode);
        }
        else
        {
            var node = nodes.GetNodeByName(dataTable.TableName);
            _schemaXMLHandler.FillTableInDataSet(releasedOutput.Prefix, node.Sql, dataSetSchema, node);
        }
    }
    //this saves the loaded schema into a file
    var dstFileName = fileNamePre + "_part_" + (fileIndex) + ".xml";
    using (var fileStream = File.Create(dstFileName))
        dataSetSchema.WriteXml(fileStream);

    fileIndex++;
}
for(int page=1;page