大侠们,快点现身吧!Xapth函数 fn:doc() 怎样使用,可以用其他方法替代吗?
目前使用XSLT样式表进行XML的转换,但是遇到了问题,真的希望大侠们赶快出现啊!
1.fn:doc($uri) 是xpath中的方法,其中的参数是一个URI.
实例1: fn:doc('http://192.168.1.15:7777/SAP_PM/AstMDGet_ps?wsdl') //访问XML
实例2:fn:doc('../Customers.xml');
上面的两个实例输出结果用<xsl:sequence select="fn:doc('....')"/> 时候,输出的都是一个标准的XML文件。
支持<xsl:sequence select="fn:doc('../Customers.xml')/Customers/Customer/Name"> 这种方式选取元素。
---------------------------------------------------------------
问题:
1.我声明一个参数 <xsl:param name="Customers"> 赋值是一个Customers.xml内容的字符串。
- XML code
<?xml version="1.0" encoding="UTF-8"?><!-- edited with XMLSPY v2004 U (http://www.xmlspy.com) by Mr. Nobody (Altova GmbH) --><Customers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Customers.xsd"> <Customer> <Number>3</Number> <FirstName>Fred</FirstName> <LastName>Landis</LastName> <Address> <Street>Oakstreet</Street> <City>Boston</City> <ZIP>23320</ZIP> <State>MA</State> </Address> </Customer></Customers>
现在我想直接 这样子的输出<xsl:sequence select="$Customers/Customer/Number"/> ,但是结果什么也没有。为什么?
但是如果直接输出<xsl:sequence select="$Customers"/> 也是可以输出一个XML的。
--------------------------------------
需求:
1.想用一种传参的方式想到达fn:doc()函数的选择元素的效果。(就是上面的问题)
2.或者还有其它的xpath可以将XML内容字符串转换和 fn:doc('...')函数加载文件的返回结果一样呢?
问题不清楚的,可以再问。谢谢了!
[解决办法]
忽略我1楼的话吧,刚搞清楚$怎么用
把你的xslt贴上来研究下如何?