我有以下要求:
<request>
<sender>A</sender>
<id>01</id>
<parameters>
<parameter value="1" />
<parameter value="2" />
</parameters>
</request>
我想发送回复:
<response>
<id>01</id>
<parameters>
<parameter value="1" />
<parameter value="2" />
</parameters>
<result>3</result>
</response>
所以大多数响应都是一样的:id,参数。有没有办法用xpath表达式获取xml全文的子集? 我想得到:
<id>01</id>
<parameters>
<parameter value="1" />
<parameter value="2" />
</parameters>
可选问题:是否可以只获得一个字符串? 基本上我希望我的XPath评估结果是:
"<id>01</id>
<parameters>
<parameter value="1" />
<parameter value="2" />
</parameters>"
谢谢!
答案 0 :(得分:1)
XPath无法创建新节点或修改现有节点:它只能选择输入中已存在的节点。你需要XQuery或XSLT。它很简单(XSLT 2.0):
<xsl:template match="request">
<response>
<xsl:copy-of select="id, parameters"/>
<result>3</result>
</response>
</xsl:template>