Используя модуль Soap в Nodejs (через loopback-connector-soap), я пытаюсь преобразовать json в xml для моего запроса на мыло, но у меня есть несколько проблем ...soap on node анализирует json на xml неправильно
Что это:
<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. –
Вероятно, это не должно быть ' ns: displayName>'. То, что вы называете «XML», выглядит как JSON. –
Возможно, вы просто путаете ** префиксы ** с ** пространствами имен **. Если префикс 'ns' в вашем XML указывает на то же пространство имен, что и' base' в вашем XSD, все в порядке. Вопрос не содержит достаточной информации, чтобы судить об этом. Добавьте элементы 'xmlns: ns =' и 'xmlns: base ='. –