我是xslt的新手,我需要使用xslt將兩個xml合併爲一個。作爲初始練習,我創建了三個文件file1.xml,file2.xml和transform.xslt,並找出如何通過直接運行file1.xml來合併這些文件。這是我做的:在ASP.NET中使用xslt合併兩個xml文件
在file1.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="transform.xslt"?>
<stuff>
...
</stuff>
在file2.xml:
<morestuff>
...
</morestuff>
在transform.xslt:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:custom="custom-functions">
<xsl:output method="xml" indent="yes" version="1.0" encoding="ISO-8859-1"/>
<xsl:variable name="file2" select="document('file2.xml')" />
<xsl:doing-stuff>
...
<!-- contains references to $file2 -->
...
</xsl:doing-stuff>
</xsl:stylesheet>
但我需要能夠通過我的C#ASP.NET代碼完成此操作,並使用給定的xml 字符串代替xml 檔案。像這樣:
public string MergeXmls(string xml1, string xml2){
string mergedXml;
var xsltPath = HttpContext.Current.Server.MapPath("transform.xslt");
//???
return mergedXml;
}
我該如何做到這一點?我知道我需要從transform.xslt中刪除對document('file2.xml')
的引用,但我不知道該從哪裏去。
我正在使用.Net 4.0,這完美地工作!謝謝! – Kalina 2013-05-02 16:10:28