我想从XML文件创建一个SOAP请求,但我确实得到了错误的输出。
我的输入XML:
<?xml version="1.0"?>
<ProDataSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<vorh>
<vorh_num>30204009</vorh_num>
</vorh>
<vorh_vorr>
<vorr_num>6</vorr_num>
</vorh_vorr>
<vorr_pamt>
<arti_code>A69002275</arti_code>
<part_num>001I1903282356</part_num>
<pamt_aantal>1.0</pamt_aantal>
</vorr_pamt>
</ProDataSet>
我的XSLT:
<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/ProDataSet">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://main.jws.com.hanel.de" xmlns:q1="http://main.jws.com.hanel.de/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<q0:sendJobsReqV01>
<q0:param>
<q1:jobs>
<q1:jobNumber>
<xsl:value-of select="vorh/vorh_num"/>
</q1:jobNumber>
</q1:jobs>
</q0:param>
</q0:sendJobsReqV01>
</soapenv:Body>
</soapenv:Envelope>
</xsl:template>
</xsl:stylesheet>
这是我的输出:你看,它给出了一些XLS选择输出,但这需要是数字,而不仅仅是作为纯文本的选择
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://main.jws.com.hanel.de" xmlns:q1="http://main.jws.com.hanel.de/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header />
<soapenv:Body>
<q0:sendJobsReqV01>
<q0:param>
<q1:jobs>
<q1:jobNumber>
<xsl:value-of select="vorh/vorh_num" />
</q1:jobNumber>
</q1:jobs>
</q0:param>
</q0:sendJobsReqV01>
</soapenv:Body>
</soapenv:Envelope>
希望大家理解,提前谢谢!
您在这里有一个拼写错误:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://main.jws.com.hanel.de" xmlns:q1="http://main.jws.com.hanel.de/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance">
您已将xsl
前缀重新声明为xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance"
。我认为应该是:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
。