小编Lor*_*ntz的帖子

应用程序使用saxonHE(9.2.1.1)api处理针对多个XML文件的XSLT(v2.0)

我有一个应用程序使用SAXONHE 9.2.1.1 api文件将XML数据转换为纯文本.我的表单有文本框

  1. XMLInput_FilePath
  2. XSLT_FilePath
  3. TextOutput_FilePath

在我的表单的okButton_Click()事件,我有以下内容:

private void okButton_Click(object sender, EventArgs e) {
    FileStream xsltTransform_FileStream = File.Open(xsltTransform_FilePath.Text, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
    FileStream xmlInput_FileStream = File.Open(xmlInput_FilePath.Text, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

    XmlTextReader modelFileXML = new XmlTextReader(xmlInput_FileStream);
    modelFileXML.XmlResolver = null;

    Processor processor = new Processor();

    XdmNode input = processor.NewDocumentBuilder().Build(modelFileXML);

    XsltTransformer xsltTransformer = processor.NewXsltCompiler().Compile(xsltTransform_FileStream).Load();
    xsltTransformer.InputXmlResolver = null;
    xsltTransformer.InitialContextNode = input;

    Serializer serializer = new Serializer();
    serializer.SetOutputFile(writeFile);

    xsltTransformer.Run(serializer);

    xsltTransform_FileStream.Close();
    modelFileStream.Close();
}
Run Code Online (Sandbox Code Playgroud)

在我的XMLInput文件的上下文中,有一个对另一个XML文件中的数据的引用 - 见下文:

XML:

<XMLInput_File
  Name="XMLInput_File">
  <Subsystem Name="Subsystem">
    <Requirements Name="Requirement_1">
      <Rows>
        <Path Text="XMLInput2_File:/XMLInput2_File/Subsystem_1/Field_1" />
      </Rows> …
Run Code Online (Sandbox Code Playgroud)

c# xslt saxon .net-3.5 winforms

6
推荐指数
1
解决办法
742
查看次数

标签 统计

.net-3.5 ×1

c# ×1

saxon ×1

winforms ×1

xslt ×1