【发布时间】:2015-09-11 03:16:43
【问题描述】:
使用 Nodejs 中的 Soap 模块(通过 loopback-connector-soap),我正在尝试将 json 转换为 xml 以用于我的 soap 请求,但我有一些问题......
它是什么:
<ns:UserDefinedFields>
<ns:UserDefinedField>
<ns:displayName>Campaign?</ns:displayName>
<ns:fieldValue>Yes</ns:fieldValue>
</ns:UserDefinedField>
</ns:UserDefinedFields>
<ns:UserDefinedFields>
<ns:UserDefinedField>
<ns:displayName>Anticipated Use</ns:displayName>
<ns:fieldValue>6</ns:fieldValue>
</ns:UserDefinedField>
应该是什么:
<ns:UserDefinedFields>
<ns:UserDefinedField>
<base:displayName>Campaign?</base:displayName>
<base:fieldValue>Yes</base:fieldValue>
</ns:UserDefinedField>
<ns:UserDefinedField>
<base:displayName>Anticipated Use</base:displayName>
<base:fieldValue>6</base:fieldValue>
</ns:UserDefinedField>
</ns:UserDefinedFields>
- 应该只有一个
<ns:UserDefinedFields> - 应该是
<base:fieldValue>而不是<ns:fieldValue>
任何建议都会非常有帮助!谢谢!
XML:
{
...
"UserDefinedFields": [
{
"displayName": "Campaign?",
"fieldValue": "Yes"
},
{
"displayName": "Anticipated Use",
"fieldValue": 6
}
]
...
}
XSD:
...
<xs:element name="UserDefinedFields" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="UserDefinedField" type="base:UserDefinedFieldType" minOccurs="0" maxOccurs="15"/>
</xs:sequence>
</xs:complexType>
</xs:element>
...
【问题讨论】:
-
可能是库的问题。尝试在 github 页面上创建问题和/或使用不同的 xml2json 库。
-
它可能不应该是
<base:displayName></ns:displayName>。你所说的The XML看起来像 JSON。 -
也许你只是混淆了 prefixes 和 namespaces。如果 XML 中的前缀
ns指向与 XSD 中的base相同的命名空间,则一切正常。该问题不包含足够的信息来判断这一点。请添加xmlns:ns=和xmlns:base=部分。
标签: json node.js soap loopbackjs