我想在我的 swift 应用程序中通过 xslt 合并 5 个 xml 文件。我正在使用 libxslt 来执行此操作。在我的 xslt 文件中,我有这样的东西
<xsl:copy>
<xsl:apply-templates select="*"/>
<xsl:apply-templates select="document('../dok_1_2.xml')/students/*" />
<xsl:apply-templates select="document('../dok_1_3.xml')/students/*" />
<xsl:apply-templates select="document('../dok_1_4.xml')/students/*" />
<xsl:apply-templates select="document('../dok_1_5.xml')/students/*" />
</xsl:copy>
lib 在 xcode 中记录我的错误
I/O 警告:未能加载外部实体“../dok_1_2.xml”
I/O 警告:未能加载外部实体“../dok_1_3.xml”
I/O 警告:未能加载外部实体“../dok_1_4.xml”
I/O 警告:未能加载外部实体“../dok_1_5.xml”
文件在同一目录中,并且肯定存在。
如果我删除../
它并没有什么不同,只有错误看起来像:
I/O 警告:未能加载外部实体“dok_1_5.xml”
作为此操作的结果,我收到了用作运行 xslt 的主文件的 xml 文件。
更新:
如果我做这样的事情
<xsl:apply-templates select="document('/Users/xxxxxxxx/Library/Developer/CoreSimulator/Devices/E57023BE-2794-425E-9153-408A10903112/data/Containers/Data/Application/008FF8B8-E258-4B93-92F0-4853B6552296/Documents/xxxxxx/158d661dd12adc16/MIND00200/dok_1_5.xml')/students/*" />
这意味着将完整路径附加到它可以工作的文件:) 但是,我不能这样做,因为它是动态的路径