【问题标题】:XML to YAML conversionXML 到 YAML 的转换
【发布时间】:2014-05-04 05:18:49
【问题描述】:

我正在尝试在我的 symfony 项目中将此 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%
                    }
               }

我真的不确定如何正确转换它,我认为有两个参数是不对的。请帮忙..

【问题讨论】:

  • 现在有一个工具可以让你自动转换:converter.rosstuck.com
  • @RelaXNow,我在转换配置时遇到了同样的问题,发现了你提到的转换器,后来发现了这个问题,并将你的评论包装在答案中作为结果:)。
  • XML to YAML convert的可能重复

标签: xml symfony yaml


【解决方案1】:

正如@RelaXNow 在问题下的评论中提到的,有一个简洁的在线工具可以将 Symfony XML 配置转换为 YAML

Symfony2 Service Config Converter

【讨论】:

    【解决方案2】:

    您的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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 2011-01-26
      • 2013-06-06
      • 2012-08-13
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多