C# Saxon API(saxon9HE)输出未生成正确的xml
我使用下面的代码进行xsl转换C# Saxon API(saxon9HE)输出未生成正确的xml,c#,xslt,saxon,C#,Xslt,Saxon,我使用下面的代码进行xsl转换 var processor = new Processor(); XsltCompiler xslComp = processor.NewXsltCompiler(); XsltExecutable xslExec = xslComp.Compile(xslUri); XsltTransformer xslTrans = xslExec.Load(); XdmDestination xdm
var processor = new Processor();
XsltCompiler xslComp = processor.NewXsltCompiler();
XsltExecutable xslExec = xslComp.Compile(xslUri);
XsltTransformer xslTrans = xslExec.Load();
XdmDestination xdmD = new XdmDestination();
Serializer serializer = processor.NewSerializer();
using (FileStream fs = File.Open(xmlPath, FileMode.Open))
{
xslTrans.SetInputStream(fs, schemaUri); // set baseUri
xslTrans.Run(xdmD);
}
XdmNode value = null;
if (xdmD != null)
{
value = xdmD.XdmNode;
}
以下是示例输入xsl:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:nf="urn:ietf:params:xml:ns:netconf:base:1.0" >
<xsl:output method="xml" indent="no"/>
<xsl:template match="/">
<xsl:value-of select="concat('<?xml',substring-after(//root/text(),'<?xml'))" disable-output-escaping="yes"
/>
</xsl:template>
</xsl:stylesheet>
(正如我已经在私人电子邮件中解释的)
禁用输出转义是序列化程序的指令。因此,如果结果树未序列化,则它无效。(您正在创建序列化程序,但没有将其用作转换的目标。)(正如我在私人电子邮件中已经解释的那样)
禁用输出转义是序列化程序的指令。因此,如果结果树未序列化,则它无效。(您正在创建序列化程序,但未将其用作转换的目标。)他是哪一版本的Saxon?在9.7中,您可以使用XPath3
parse xml
来解析嵌入的xml,然后期望结果是XdmNode
。如果您想依赖于禁用输出转义,那么我认为您需要确保首先序列化结果。他是哪个版本的Saxon?在9.7中,您可以使用XPath3parse xml
来解析嵌入的xml,然后期望结果是XdmNode
。如果您想依赖于禁用输出转义,那么我认为您需要确保首先序列化结果。
<root>
<![CDATA[
<?xml version="1.0" encoding="ISO-8859-1"?>
<nf:rpc-reply xmlns:nf="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns="http://www.cisco.com/nxos:1.0:vms">
<nf:data>
<show>
<svs>
<connections>
<conn-name>qa-gdc1</conn-name>
</connections>
</svs>
</show>
</nf:data>
</nf:rpc-reply>
]]>
</root>
<?xml version="1.0" encoding="ISO-8859-1"?>
<nf:rpc-reply xmlns:nf="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns="http://www.cisco.com/nxos:1.0:vms">
<nf:data>
<show>
<svs>
<connections>
<conn-name>qa-gdc1</conn-name>
</connections>
</svs>
</show>
</nf:data>
</nf:rpc-reply>