我需要发送一个包含以下元素的XML:
<return>
<getrooms>true</getrooms>
<filters xmlns:a="http://some.com/xsd/atomicCondition" xmlns:c="http://some.com/xsd/complexCondition">
<city></city>
<country></country>
<c:condition>
<a:condition>
<fieldname>fieldName</fieldname>
<fieldtest>fieldTest</fieldtest>
<fieldvalues>
<fieldvalue>fieldValue</fieldvalue>
</fieldvalues>
</a:condition>
<operator>operator</operator>
<a:condition>
<fieldname>fieldName</fieldname>
<fieldtest>fieldTest</fieldtest>
<fieldvalues>
<fieldvalue>fieldValue</fieldvalue>
</fieldvalues>
</a:condition>
</c:condition>
</filters>
<resultsperpage></resultsperpage>
<page></page>
</return>我在使用Jsonix生成“c:条件”和“a:条件”Qname时遇到了困难。这两个Qname都包含一个前缀,但没有名称空间。
我目前的代码是:
{
type: 'element',
name: 'ccondition',
elementName: {
localPart: 'condition',
prefix: 'c',
namespaceURI: 'c'
},
typeInfo: 'DOXML.ComplexCondition'
},这将产生以下结果:
<c:condition xmlns:c="c">
有人知道如何使用Jsonix生成所需的Qname -“c:条件”,即没有namespaceURI?
发布于 2017-07-07 06:21:05
在您的示例中,前缀c实际上绑定到该行中的命名空间http://some.com/xsd/complexCondition:
<filters xmlns:a="http://some.com/xsd/atomicCondition" xmlns:c="http://some.com/xsd/complexCondition">
前缀a和c都绑定到filters元素范围内的非空名称空间。
所以你应该这么做:
{ type: 'element', name: 'ccondition', elementName: { localPart: 'condition', prefix: 'c', namespaceURI: 'http://some.com/xsd/complexCondition' }, typeInfo: 'DOXML.ComplexCondition' }
我认为您应该能够使用namespaceURI: ''映射到空的命名空间,但如果我正确地看到它,这并不是您所需要的。
https://stackoverflow.com/questions/44948479
复制相似问题