Xml XSLT需要根据请求中传递的名称动态选择用户名
我试图让XSLT根据请求中传递的名称动态选择用户名。因此,如果请求中传递的名称与保存用户名的xml文件中的名称匹配,那么它将返回相应的用户名 SOAP请求:Xml XSLT需要根据请求中传递的名称动态选择用户名,xml,xslt,soap,Xml,Xslt,Soap,我试图让XSLT根据请求中传递的名称动态选择用户名。因此,如果请求中传递的名称与保存用户名的xml文件中的名称匹配,那么它将返回相应的用户名 SOAP请求: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <int:ret
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<int:retrieveProperty>
<RetrievePropertyRequestMsg>
<typ1:RequestUsername>
<typ1:UsernameLine>JOE</typ1:UsernameLine>
</typ1:RequestUsername>
<usernameinfo>
<property>
<address1>222 Main St</address1>
<address2></address2>
<city>Springfield</city>
<state>CO</state>
<zipcode>12345</zipcode>
</property>
</usernameinfo>
</RetrievePropertyRequestMsg>
</int:retrieveProperty>
</soapenv:Body>
</soapenv:Envelope>
乔
主街222号
斯普林菲尔德
一氧化碳
12345
包含用户名的XML文件:
<Credentials>
<NAME id="JOE">
<Username>Joe</Username>
</NAME>
<NAME id="SEAN">
<Username>Sean</Username>
</NAME>
</Credentials>
乔
肖恩
XSLT(到目前为止我已经有了):
预期结果:
<usernameinfo username="Joe">
<property>
<address1>222 Main St</address1>
<address2></address2>
<city>Springfield</city>
<state>CO</state>
<zipcode>12345</zipcode>
</property>
</usernameinfo>
主街222号
斯普林菲尔德
一氧化碳
12345
XML区分大小写:JOE
与JOE
@michael.hor257k不匹配,因此我需要比较JOE,如果它彼此相等,则应将JOE发送到输出。不确定这是否有意义。您可以使用XSLT2.0吗?样式表上显示的是version=“1.0”
,但是copy namespaces=“no”
需要XSLT 2.0。解释了为什么它不起作用,名称空间仍然出现。我不能,需要使用XSLT 1.0。好的,接下来的问题是:无法处理XML,因为前缀int:
和typ1:
未绑定到命名空间。-另外,如果没有名称匹配,结果应该是什么。
<usernameinfo username="Joe">
<property>
<address1>222 Main St</address1>
<address2></address2>
<city>Springfield</city>
<state>CO</state>
<zipcode>12345</zipcode>
</property>
</usernameinfo>