jsonix - 如何创建带前缀但不带名称空间的元素?
jsonix - How to create an element with prefix and without namespace?
我需要发送包含以下元素的 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:condition" 和 "a:condition" Qname 时遇到困难。两个 Qname 都包含前缀但没有名称空间。
我当前的代码是:
{
type: 'element',
name: 'ccondition',
elementName: {
localPart: 'condition',
prefix: 'c',
namespaceURI: 'c'
},
typeInfo: 'DOXML.ComplexCondition'
},
这将导致以下结果:
<c:condition xmlns:c="c">
有人知道如何使用 Jsonix 生成所需的 Qname - "c:condition" 没有 namespaceURI 吗?
在您的示例中,前缀 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: ''
映射到空命名空间,但如果我没看错的话,这不是您所需要的。
我需要发送包含以下元素的 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:condition" 和 "a:condition" Qname 时遇到困难。两个 Qname 都包含前缀但没有名称空间。
我当前的代码是:
{
type: 'element',
name: 'ccondition',
elementName: {
localPart: 'condition',
prefix: 'c',
namespaceURI: 'c'
},
typeInfo: 'DOXML.ComplexCondition'
},
这将导致以下结果:
<c:condition xmlns:c="c">
有人知道如何使用 Jsonix 生成所需的 Qname - "c:condition" 没有 namespaceURI 吗?
在您的示例中,前缀 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: ''
映射到空命名空间,但如果我没看错的话,这不是您所需要的。