我有一个XML模式,我正在用JavaScript进行解析,然后将其打包为一个对象以传递到我的后端服务器之一。
架构就像
<complexType name='Test'>
<sequence>
<element name='testField' type='string'/>
<element name='typeSpecificSetting' type='tns:TypeSpecific'/>
</sequence>
</complexType>
<complexType name="TypeSpecific">
<choice>
<element name='A' type='tns:ATYPE'/>
<element name='B' type='tns:BTYPE'/>
<element name='C' type='tns:CTYPE'/>
<element name='D' type='tns:DTYPE'/>
</choice>
</complexType>
<complexType name="ATYPE">
<element name='testATYPEField' type='string'/>
</complexType>
<complexType name="BTYPE">
<element name='testBTYPEField' type='string'/>
</complexType>
我正在阅读xml架构,然后尝试构建我的请求对象。
request = {
testField: t1,
typeSpecificSetting: t2
}
如何构造供选择的请求对象?根据类型,我必须打包ATYPE或BTYPE还是CTYPE或DTYPE对象?我该如何实现?
最佳答案
由于typeSpecific是只有一个选项的复杂类型,因此typeSpecificSetting属性将是一个对象,其中包含一个属性,该属性将是testATYPEField,testBTYPEField等...
request = {
testField: t1
typeSpecificSetting: {
A: {
testATYPEField: t2
}
}
}
要么
request = {
testField: t1
typeSpecificSetting: {
B: {
testBTYPEField: t2
}
}
}
等等
关于javascript - JavaScript中的XML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/207193/