我有两个xml响应,如下所示。
response1.xml
<UploadFileResponse xmlns="http://SharepointTask">
<UploadFileResult>
<taskData>
<TaskID>47</TaskID>
<TaskState>Completed</TaskState>
</taskData>
</UploadFileResult>
</UploadFileResponse>
response2.xml
<UploadFileResponse xmlns="http://SharepointTask">
<UploadFileResult>
<taskData>
<TaskID>48</TaskID>
<TaskState>Completed</TaskState>
</taskData>
</UploadFileResult>
</UploadFileResponse>
现在,我想应用XSLT并获得如下输出
<UploadFileResponse xmlns="http://SharepointTask">
<UploadFileResult>
<taskData>
<TaskID>47</TaskID>
<TaskState>Completed</TaskState>
</taskData>
<taskData>
<TaskID>48</TaskID>
<TaskState>Completed</TaskState>
</taskData>
</UploadFileResult>
</UploadFileResponse>
我不确定如何转换这两个xml并从中获取特定节点。我对XSLT有基本的想法,我们将不胜感激。
答案 0 :(得分:0)
您可以使用文档读取文件。 http://www.w3schools.com/xsl/func_document.asp
答案 1 :(得分:0)
是的,您可以使用document()函数在xsl样式表中导入第二个xml文件来解析(通过它链接到样式表的文件)。
你可以这样做:
<xsl:variable name="response2"><xsl:value-of select="'response2.xml'"/></xsl:variable>
<xsl:value-of select="document($response2)//UploadFileResponse/UploadFileResult/taskData/TaskID"/>
此示例将输出48。