XML в JavaScript - PullRequest
       9

XML в JavaScript

1 голос
/ 16 октября 2008

У меня есть 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? Как мне этого добиться?

1 Ответ

1 голос
/ 16 октября 2008

Поскольку typeSpecific является сложным типом с одним выбором, то свойство typeSpecificSetting будет объектом, содержащим одно свойство, которое будет одним из testATYPEField, testBTYPEField, ...

 request = {
     testField: t1
     typeSpecificSetting: {
         A: { 
             testATYPEField: t2
         }
     }
 }

OR

 request = {
     testField: t1
     typeSpecificSetting: {
         B: { 
             testBTYPEField: t2
         }
     }
 }

и т.д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...