2014-03-26 77 views
1

我想在我的symfony項目中將此XML轉換爲YAML格式。有一些問題。XML到YAML轉換

<?xml version="1.0" ?> 
    <!-- src/Test/WebBundle/Resources/config/services.xml--> 
    <container xmlns="http://symfony.com/schema/dic/services" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> 
     <parameters> 
       <parameter key="adoy_oauth2.client.class">OAuth2\Client</parameter> 
       <parameter key="test_web.client.class">Test\WebBundle\Service\OAuth2Client</parameter> 
      </parameters> 

      <services> 
       <service id="adoy_oauth2.client" class="%adoy_oauth2.client.class%"> 
        <argument>%oauth2_client_id%</argument> 
        <argument>%oauth2_client_secret%</argument> 
       </service> 

       <service id="test_web.credentials_client" class="%test_web.client.class%"> 
        <argument type="service" id="adoy_oauth2.client" /> 
        <argument>%oauth2_auth_endpoint%</argument> 
        <argument>%oauth2_token_endpoint%</argument> 
        <argument>%oauth2_redirect_url%</argument> 
        <argument>client_credentials</argument> 
        <argument type="collection"> 
         <argument key="client_id">%oauth2_client_id%</argument> 
         <argument key="client_secret">%oauth2_client_secret%</argument> 
        </argument> 
       </service> 

       <service id="test_web.authorize_client" class="%test_web.client.class%"> 
        <argument type="service" id="adoy_oauth2.client" /> 
        <argument>%oauth2_auth_endpoint%</argument> 
        <argument>%oauth2_token_endpoint%</argument> 
        <argument>%oauth2_redirect_url%</argument> 
        <argument>authorization_code</argument> 
        <argument type="collection"> 
         <argument key="redirect_uri">%oauth2_redirect_url%</argument> 
        </argument> 
       </service> 
      </services> 
</container> 

這是YAML我想:

parameters: 
    adoy_oauth2.client.class: OAuth2\Client 
    test_web.client.class: Lyke\WebBundle\Service\OAuth2Client 

services: 
    adoy_oauth2.client: 
     class: %adoy_oauth2.client.class% 
     arguments: [%oauth2_client_id%, %oauth2_client_secret%] 
    test_web.credentials_client: 
     test_: %lyke_web.client.class% 
     arguments: 
      - @adoy_oauth2.client 
      - [%oauth2_auth_endpoint%, %oauth2_token_endpoint%, %oauth2_redirect_url%, "client_credentials"] 
      - { 
        collection: 
        { 
         client_id: %oauth2_client_id%, 
         client_secret: %oauth2_client_secret% 
        } 
       } 
    test_web.authorize_client: 
     test_: %lyke_web.client.class% 
     arguments: 
      - @adoy_oauth2.client 
      - [%oauth2_auth_endpoint%, %oauth2_token_endpoint%, %oauth2_redirect_url%, "authorization_code"] 
      - { 
        collection: 
        { 
         redirect_uri: %oauth2_redirect_url% 
        } 
       } 

我真的不知道如何將它正確轉換,我認爲有兩個參數是不是正確的。請幫忙..

+3

有一個工具了,現在可以讓你有這樣的自動轉換:http://converter.rosstuck.com – RelaXNow

+0

@RelaXNow,我面臨着同樣的問題有關轉換CONFIGS,發現轉換器你提到了這個問題,然後把你的評論打包回答爲結果:)。 –

回答

1

你的collection說法有問題;我試着用你的XML,並獲得YAML,並且它的在線工具似乎無效,請嘗試用這個,

parameters: 
    adoy_oauth2.client.class: OAuth2\Client 
    test_web.client.class: Lyke\WebBundle\Service\OAuth2Client 

services: 
    adoy_oauth2.client: 
     class: "%adoy_oauth2.client.class%" 
     arguments: ["%oauth2_client_id%", "%oauth2_client_secret%"] 
    test_web.credentials_client: 
     test_: "%lyke_web.client.class%" 
     arguments: 
      - "@adoy_oauth2.client" 
      - ["%oauth2_auth_endpoint%", "%oauth2_token_endpoint%", "%oauth2_redirect_url%", "client_credentials",[client_id: "%oauth2_client_id%",client_secret: "%oauth2_client_secret%"]] 
    test_web.authorize_client: 
     test_: "%lyke_web.client.class%" 
     arguments: 
      - "@adoy_oauth2.client" 
      - ["%oauth2_auth_endpoint%", "%oauth2_token_endpoint%", "%oauth2_redirect_url%", "authorization_code",[redirect_uri: "%oauth2_redirect_url%"]]    

YAML Converteronline YAML parser說,它的一個有效yaml