c#
  • xml
  • string
  • 2013-01-12 34 views 0 likes 
    0

    我有一些字符串格式爲:存儲XML字符串和變量放入文件

    public static string Script(string user, string password) 
    { 
        return @"<?xml version='1.0'?>" 
          + "<RIBCL VERSION='2.0'>" 
          + "<LOGIN USER_LOGIN='" + user + "' PASSWORD='" + password + "'>" 
          + "<SERVER_INFO MODE='read'><GET_HOST_DATA /></SERVER_INFO>" 
          + "<RIB_INFO MODE='read'><GET_NETWORK_SETTINGS/></RIB_INFO>" 
          + "</LOGIN>" 
          + "</RIBCL>"; 
    } 
    

    我怎樣才能得到上面的字符串變量到XML文件看起來像這樣:

    <?xml version='1.0'?>" 
        <RIBCL VERSION='2.0'> 
         <LOGIN USER_LOGIN="user" PASSWORD="password"> 
          <SERVER_INFO MODE="read"> 
           <GET_HOST_DATA /> 
          </SERVER_INFO>" 
          <RIB_INFO MODE="read"> 
           <GET_NETWORK_SETTINGS/> 
          </RIB_INFO> 
         </LOGIN> 
    </RIBCL> 
    

    在哪裏userpassword需要是實際的字符串變量。

    而不是每個字符串有一個不同的方法(很多),我可以以某種方式存儲每個字符串到自己的文件?唯一的將是userpassword變量,每次都需要添加變量,所以不知道如何處理該部分。

    +0

    嘗試你的代碼與密碼='123 /> 456' – I4V

    +0

    工作正常。當輸入進入文本框然後寫入流中。 –

    +2

    然後嘗試打開生成的XML。 –

    回答

    2

    嘗試存儲您的字符串喜歡字符串格式模板

    例如,如:

    <?xml version='1.0'?> 
    <RIBCL VERSION='2.0'> 
        <LOGIN USER_LOGIN='{0}' PASSWORD='{1}'> 
         <SERVER_INFO MODE='read'><GET_HOST_DATA /></SERVER_INFO> 
         <RIB_INFO MODE='read'><GET_NETWORK_SETTINGS/></RIB_INFO> 
        </LOGIN> 
    </RIBCL> 
    

    你的腳本的方法應該從什麼地方加載特定的字符串,在那之後只應適用String.Format

    return String.Format(data, HttpUtility.HtmlEncode(user), HttpUtility.HtmlEncode(password)); 
    

    這將工作,如果你的每個字符串只有userpassword字段,其​​中sho將被設置。

    +0

    HTML編碼與XML編碼不同。這是通過字符串操作構建XML的另一種情況,並且具有相同的問題。正如另一位用戶較早評論的那樣,請使用password ='123 /> 456'來嘗試此操作。 –

    +0

    @John Saunders,它工作正常 –

    +0

    是的,這正是我正在尋找的。謝謝。 –

    1

    首先,不要使用字符串操作構建XML。規則是不同的。例如,如果password中有一個字符對xml屬性無效,該怎麼辦?

    其次,我會推薦使用LINQ to XML構建XML。沒有文件I/O那種方式。

    +0

    我並不真的保存任何文件。該字符串然後被髮送到另一臺機器上的接口,使用.net POST,它偵聽該類型的formata併發迴響應。 –

    +0

    您問過關於從文件讀取XML的問題。我在說,如果你使用LINQ to XML構建XML,那麼你將不必處理文件。 –

    +0

    更新了上面的問題,也許它更清晰。 –

    0

    我不得不創建一個類似的應用程序從ASP.NET調用。我發現最好的解決方案是在資源文件夾中創建xml文件,並更新USER_LOGIN和PASSWORD屬性。

    還有一點需要注意的是,發送給HPILO時,您需要從頂部刪除xml declation,因爲它不會識別它。該文件應該從

    <RIBCL VERSION=2.0> 
    
    +0

    這隻適用於ilo3或4,2需要它。但它有3和4仍然運行腳本,所以它很好 –

    相關問題