【问题标题】:XSLT 2.0 Transformation using Saxon api in vb.net在 vb.net 中使用 Saxon api 进行 XSLT 2.0 转换
【发布时间】:2013-12-06 09:14:22
【问题描述】:

我正在尝试使用 Saxon 将文本文件转换为 XSLT 2.0 中的 xml。

text file = c:\\...\....sample.txt

为此, 我想传递一个 xml 文件,其中包含文本文件的路径作为属性值。

<?xml version="1.0" encoding="UTF-8"?>
<InputArgs inputFile="C:\\...\....sample.txt" schemaName="test.xsd" />

我正在使用代码

        Processor proc = new Processor();
        XdmNode input = proc.NewDocumentBuilder().Build(new Uri(INPUT XML PATH));
        XsltTransformer transformer = proc.NewXsltCompiler().Compile(new Uri(INPUT XSL PATH)).Load();
        transformer.InitialContextNode = input;

        Serializer serializer = new Serializer();
        FileStream outStream = new FileStream(outFile, FileMode.Create, FileAccess.Write);
        serializer.SetOutputStream(outStream);
        transformer.Run(serializer);
        outStream.Close();

我遇到了错误......

总结一下,如何将文本文件转换为 xml 仅提供 xml 和 xsl 文本文件作为 xml 中的属性值传递...

类似于将参数传递给 XSL?

【问题讨论】:

  • 错误信息是? (包括行号,以及上面代码中的哪一行)
  • 告诉我们您遇到了错误,但没有说明实际错误是什么,是要求我们在蒙住眼睛的情况下为您提供帮助。

标签: xml vb.net xslt


【解决方案1】:

您应该使用&lt;InputArgs inputFile="file:///C:/dir/subdir/sample.txt" schemaName="test.xsd" /&gt; 形式的file URI,然后在XSLT 中您可以使用unparsed-text

<xsl:template match="InputArgs">
  <xsl:variable name="sample" select="unparsed-text(@inputFile)"/>
</xsl:template>

当然,如果你愿意,你也可以定义一个参数并传入 URI。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多