저는 xslt을 처음 사용하고 xslt를 사용하여 두 xml을 하나로 결합해야합니다. 처음 연습으로 file1.xml, file2.xml 및 transform.xslt의 세 파일을 만들고 file1.xml을 직접 실행하여 파일을 병합하는 방법을 알아 냈습니다. file1.xml에서ASP.NET에서 두 xml 파일을 xslt와 병합
: 이것은 내가 그것을 어떻게입니다
file2.xml에서<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="transform.xslt"?>
<stuff>
...
</stuff>
:
을 Transform.xslt에서<morestuff>
...
</morestuff>
:
<?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')
에 대한 참조를 삭제해야한다는 것을 알고 있지만, 거기에서 어디로 가야할지 모르겠습니다. 나는이 같은 System.Web.UI.WebControls.Xml 개체를 사용하는 프론트 엔드 웹 페이지에서
.Net 4.0을 사용하고 있으며 완벽하게 작동합니다! 고맙습니다! – Kalina