可不可以在一个xsl中读取多个xml中的数据?

时间:2022-08-11 08:36:00
可不可以在一个xsl中读取多个xml中的数据,且这多个xml文件的格式类似,即这几个xml中都有很多相同的节点名和属性名。
盼高手指教

11 个解决方案

#1


document()函数可以处理


select="document(@href)//element"

@href是你的xml文件位置,可以是本地,也可是网络URI。
document(@href)就相当于要引用的xml文件的根。

xml格式不一样也可,文件多少也不管。

#2


使用document Function
try:
<xsl:template match="elseXMlDoc">
    <xsl:copy-of select="document('a.xml')/book"/> <!-- a.xml,相对路径 book,a.xml根节点 -->
</xsl:template>

:_)

#3


我已经理解了你们教的方法:)谢谢
我还要斗胆问一句,能不能下xsl中实现这样的功能:给出一个文件夹,然后xsl自动去读取文件夹中所有的xml文件,并取出每个xml文件中需要取出的数据。比如说每个xml中都有field这个节点,则xsl能从每个xml中取出field的某个属性,或子节点。
因为用你们上述的方法,对应每一个xml的一次操作都要用一次document(), 如果xml数目很多,且需要的操作很多,则很不方便
谢谢啦:)

#4


建议:
a. 使用服务器端程序,利用FSO读取指定目录下的 n 个XML文件
b. 生成相应的XSL文件(给xsl增加 n 个包含document function的节点即可)

:_)

#5


:(没有更简单易行的方法么?实在不行,我就只有用那个笨方法了:(。

#6


楼上的意思是说,写一个xsl文件,在这个xsl中用document取出各个需要的值,然后再在别的xsl里用?
这个方法倒比较好,但是我不知道怎么在xsl中用别的xsl:(
能指教么?

#7


呵呵,好东西,收了

#8


什么好东西啊,问题还没解决那:(
upup等待高手

#9


使用 xsl:import OR xsl:include 在一个xsl引用其他xsl文件
参考msxml例子


:_)

#10


使用 xsl:import OR xsl:include 在一个xsl引用其他xsl文件
参看msxml sdk

:_)

#11


虽然最终问题还是没有解决,但是,就我的最初提问,还是得到了答案:)
结贴,谢谢各位了

#1


document()函数可以处理


select="document(@href)//element"

@href是你的xml文件位置,可以是本地,也可是网络URI。
document(@href)就相当于要引用的xml文件的根。

xml格式不一样也可,文件多少也不管。

#2


使用document Function
try:
<xsl:template match="elseXMlDoc">
    <xsl:copy-of select="document('a.xml')/book"/> <!-- a.xml,相对路径 book,a.xml根节点 -->
</xsl:template>

:_)

#3


我已经理解了你们教的方法:)谢谢
我还要斗胆问一句,能不能下xsl中实现这样的功能:给出一个文件夹,然后xsl自动去读取文件夹中所有的xml文件,并取出每个xml文件中需要取出的数据。比如说每个xml中都有field这个节点,则xsl能从每个xml中取出field的某个属性,或子节点。
因为用你们上述的方法,对应每一个xml的一次操作都要用一次document(), 如果xml数目很多,且需要的操作很多,则很不方便
谢谢啦:)

#4


建议:
a. 使用服务器端程序,利用FSO读取指定目录下的 n 个XML文件
b. 生成相应的XSL文件(给xsl增加 n 个包含document function的节点即可)

:_)

#5


:(没有更简单易行的方法么?实在不行,我就只有用那个笨方法了:(。

#6


楼上的意思是说,写一个xsl文件,在这个xsl中用document取出各个需要的值,然后再在别的xsl里用?
这个方法倒比较好,但是我不知道怎么在xsl中用别的xsl:(
能指教么?

#7


呵呵,好东西,收了

#8


什么好东西啊,问题还没解决那:(
upup等待高手

#9


使用 xsl:import OR xsl:include 在一个xsl引用其他xsl文件
参考msxml例子


:_)

#10


使用 xsl:import OR xsl:include 在一个xsl引用其他xsl文件
参看msxml sdk

:_)

#11


虽然最终问题还是没有解决,但是,就我的最初提问,还是得到了答案:)
结贴,谢谢各位了