Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
合并XML文档_Xml_Merge_Document - Fatal编程技术网

合并XML文档

合并XML文档,xml,merge,document,Xml,Merge,Document,我需要根据段落ID合并多个XML文档,如下所述。基本上,这是一种文档同步情况,添加到主控文档中的paragprahs需要从辅助文档中添加;从主控文档中删除的段落必须从辅助文档中删除,最后,主控文档段落节点上的某些属性(例如“字体”)必须复制到辅助文档中,而某些属性需要保留(例如“作者”)。我在c#.net中编写了一些相当暴力的代码,它可以半工作(没有编码属性处理保持/更新逻辑),但更喜欢XSLT解决方案,因为它似乎是XSLT的完美应用程序,但我是一个XSLT“处女”,被投入到一个新的“匆忙”项目

我需要根据段落ID合并多个XML文档,如下所述。基本上,这是一种文档同步情况,添加到主控文档中的paragprahs需要从辅助文档中添加;从主控文档中删除的段落必须从辅助文档中删除,最后,主控文档段落节点上的某些属性(例如“字体”)必须复制到辅助文档中,而某些属性需要保留(例如“作者”)。我在c#.net中编写了一些相当暴力的代码,它可以半工作(没有编码属性处理保持/更新逻辑),但更喜欢XSLT解决方案,因为它似乎是XSLT的完美应用程序,但我是一个XSLT“处女”,被投入到一个新的“匆忙”项目中。。。至少有人能告诉我如何合并这两个文档(即从主文档到辅助文档添加段落)吗

比如说

master.xml:

<paragraphs>
<paragraph id="intro" font="bold" author="JS">
   <sentences>
         <sentence>Bla bla bla bla</sentence>
         <sentence>More Bla bla bla bla</sentence>
   </sentence> 
</Paragraph>
<paragraph id="main1" font="bold" author="FTG">
   <sentences>
         <sentence>any text here</sentence>
         <sentence>More Bla bla bla bla</sentence>
   </sentence> 
</paragraph>
<paragraph id="main2" font="bold" author="FTG">
   <sentences>
         <sentence>Added to Master Doc</sentence>
   </sentence> 
</Paragraph>

呜呜呜呜呜呜
更多的废话废话废话废话
这里有文本吗
更多的废话废话废话废话
添加到主控文档
和Secondary.Xml

<paragraphs>
<paragraph id="intro" font="normal" author="ZZ">
   <sentences>
         <sentence>Bla bla bla bla</sentence>
         <sentence>More Bla bla bla bla</sentence>
   </sentence> 
</paragraph>
<paragraph id="main1" font="normal" author="XYZ">
   <sentences>
         <sentence>main1 has been edited in secondary doc but needs to remain unchanged</sentence>
         <sentence>More Bla bla bla bla</sentence>
   </sentence> 
</paragraph>
<paragraph id="conclusion" font="bold" author="FTG">
   <sentences>
         <sentence>In conclusion.....bla.../sentence>
   </sentence> 
</paragraph>
</paragraphs>

呜呜呜呜呜呜
更多的废话废话废话废话
main1已在辅助单据中编辑,但需要保持不变
更多的废话废话废话废话
总之………bla…/句子>
需要通过从辅助文档中删除结论段落、从主文档中将main2 doc添加到辅助文档、将主文档到辅助文档中的字体属性应用到匹配段落,但在匹配段落中保持作者属性不变来合并。后面的部分(属性克隆/保留是一个非常小的问题)


呜呜呜呜呜呜
更多的废话废话废话废话
main1已在辅助文档中编辑,但需要保持不变
更多的废话废话废话废话
添加到主控文档
<paragraphs>
<paragraph id="intro" font="bold" author="ZZ">
   <sentences>
         <sentence>Bla bla bla bla</sentence>
         <sentence>More Bla bla bla bla</sentence>
   </sentence> 
</paragraph>
<paragraph id="main1" font="normal" author="FTG">
   <sentences>
         <sentence>main1 has been edited in secondary doc but meeds to remain unchanged</sentence>
         <sentence>More Bla bla bla bla</sentence>
   </sentence> 
</Paragraph>
<paragraph id="main2" font="bold" author="FTG">
   <sentences>
         <sentence>Added to Master Doc</sentence>
   </sentence> 
</Paragraph>
</paragraphs>