我正在使用wsdl格式的XML,现在我想将其编码更改为XSD格式。我是否需要在网络配置中进行一些更改,或者我将要做的事情请建议我。 下面是示例
<wsdl:definitions name="LoginCheck"
targetNamespace="http://tempuri.org/">
<wsdl:types>
<xsd:schema targetNamespace="http://tempuri.org/Imports">
<xsd:import schemaLocation="http://192.168.0.6:8000/LoginCheck.svc?xsd=xsd0"
namespace="http://tempuri.org/"/>
<xsd:import schemaLocation="http://192.168.0.6:8000/LoginCheck.svc?xsd=xsd1"
namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
我希望将其转换为如下格式
<definitions targetNamespace="urn:saveCharacterAcc">
<types>
<xsd:schema targetNamespace="urn:saveCharacterAcc">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
<xsd:complexType name="Character">
<xsd:all>
<xsd:element name="characterNumber"
type="xsd:int"/>
<xsd:element name="byteArray"
type="xsd:string"/>
<xsd:element name="rotationAngle"
type="xsd:string"/>
<xsd:element name="charX" type="xsd:string"/>
答案 0 :(得分:2)
答案 1 :(得分:0)
为了解决这个问题,我使用了一个带有以下XSL代码的XSL转换器。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="wsdl:types">
<xsl:copy-of select="xs:schema"/>
</xsl:template>
<xsl:template match="wsdl:documentation/text()"/>
</xsl:stylesheet>
<xsl:template match="wsdl:documentation/text()"/>
标记用于删除一些不受欢迎的文本元素,这些元素出现在我生成的XSD文件中。