我有2个xml文件。我想wite xsl程序 当两个文件中的Field4和field5和field6相同时,它会从SearchApp_LA_Request消除(并创建一个新的xml)SearchApp_MA_Request的所有节点。
SearchApp_LA_Request.xml
<Request>
<Rows>
<Row1>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row1>
<Row2>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row2>
<Row3>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row3>
<Row4>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row4>
</Rows>
</Request>
SearchApp_MA_Request.xml
<Request>
<Rows>
<Row1>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row1>
<Row2>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row2>
<Row3>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row3>
<Row4>
<Field1>Item1</Field1>
<Field2>Item2</Field2>
<Field3>Item3</Field3>
<Field4>Item4</Field4>
<Field5>Item5</Field5>
<Field6>Item6</Field6>
</Row4>
</Rows>
</Request>
答案 0 :(得分:2)
是的,
我用谷歌搜索你的问题(使用关键词merge xml xslt),发现这个资源似乎点击了你的问题点:'合并两个文件'http://www.dpawson.co.uk/xsl/sect2/merge.html#d7584e19
[facimilie from link above]
Michael Kay
> I have two documents, file A and file B. I want to join them
> on the id of
> the first, but only if a matching id is in the 2nd. How do I do this?
>
> File A File B Desired Output
> <id> A </id> <id> A </id> <id> A </id>
> <id> B </id> <id> C </id> <id> D </id>
> <id> D </id> <id> D </id>
>
<xsl:copy-of select="document('a.xml')//id[.=document('b.xml')//id]"/>
解决方案使用xslt函数document(),它可以访问xml文档中的节点。关于w3school的更多信息:http://www.w3schools.com/Xsl/func_document.asp
答案 1 :(得分:0)
我不知道是否有任何现成的XSLT解析器会做你所建议的......
您可能希望将其中一个文档读入DOM树,然后在另一个文档中读取,并添加每个子文件。
然后您可以直接在内存中操作DOM,或者将其写入一个文档然后执行XSL转换以获取唯一值...
这就是我至少接近它的方式。
答案 2 :(得分:0)
根据我的理解,你需要使用XSLT合并2个xml文件。
在XSLT中查看“document()”函数。
干杯