0
我一直在使用Google的方式尝试执行下面的操作,并获得一些命中,然而,没有人为我工作。XSLT - 检查是否存在某些元素或节点
我有传入的XML是2个XML中的任何一个。
<Session>
<SessionID>1231</SessionID>
<ClientID>556677</ClientID>
</Session>
或
<Session>
<SessionID>1231</SessionID>
<CompanyID>1060</CompanyID>
</Session>
基于上述中,XML可以非常从CompanyId到客户端ID。我想改变自己的XML,但为了做到这一点,我需要一个方式说:
如果我得到的ClientID,那么只能得到价值和转换XML,这样是表示像这样:
<?xml version="1.0" encoding="UTF-8"?>
<Sessions xmlns="http://mysite/services/v1">
<a:Session>1231</a:Session>
<a:Client>556677</a:Client>
</Sessions>
,如果我得到CompanyID,我变换以下
<?xml version="1.0" encoding="UTF-8"?>
<Sessions xmlns="http://mysite/services/v1">
<a:Session>1231</a:Session>
<a:Company>1060</a:Company>
</Sessions>
XML将配备两种元素的ClientID或元素与CompanyID但不能同时....
我曾尝试使用没有成功如下:
<xsl:choose>
<xsl:when test="/Session/ClientID">
<a:Client>
<xsl:value-of select="a:Session/a:ClientId"/>
</a:Client>
</xsl:choose>
我希望能够检查是否与“客户端ID”的元素是在XML,我可以从它的价值,并创建一个名为“客户”的元素.. 。同样的情况,如果我与公司得到一个XML。
任何想法?谢谢您的帮助。
你的结果是无效的:前缀 “一个” 未绑定到一个命名空间。 –