我有一个xml和xsl文件。 xsl的输出只是一个文本,即如果某些条件失败,结果只是失败的描述。如果所有条件都通过,则结果为null。如果我在xsltproc中运行它,它工作正常。
但是,如果我使用函数xsltApplyStylesheet使用libxslt运行它,我会看到空结果。输入xml到xsltApplyStylesheet是在代码中动态创建的。使用xsltParseStylesheetFile读取xsl文件。 (我使用xml的xmlDocDumpFormatMemory和xsltParseStylesheetFile-> doc的输出,两者似乎都很好)。我在ApplyStylesheet之后尝试了xsltSaveResultToString,它也不能正常工作。
这里可能出现什么问题?
代码段:
xmldoc = xmlNewDoc(BAD_CAST "1.0");
c = xmlNewNode(NULL, BAD_CAST "Company");
xmlAddChild(c, node); //node is another child in XML
xmlAddChild(c, d); //d is another child in xml
xmlDocSetRootElement(xmldoc, c);
.....
xsl = xsltParseStylesheetFile("xsl.file");
....
output = xsltApplyStylesheet(xsl, xmldoc, NULL);
....
//output has just "<?xml version="1.0"?>"
TIA,感谢您的帮助!