0

この形式の文字列がいくつかあります。

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>

どこuserで、password実際の文字列変数である必要があります。

すべての文字列 (かなりの数) に対して 1 つの異なるメソッドを使用する代わりに、どうにかしてそれぞれを独自のファイルに保存できますか? 唯一のことは、毎回追加する必要がある変数userと変数であるため、その部分を処理する方法がわかりません。password

4

3 に答える 3

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フィールドのみがあり、設定する必要がある場合に機能します。

于 2013-01-12T16:32:08.040 に答える
1

まず、文字列操作を使用して XML を構築しないでください。ルールは異なります。たとえばpassword、xml 属性に対して無効な文字が含まれている場合はどうなるでしょうか。

次に、LINQ to XML を使用して XML を構築することをお勧めします。そのようにファイル I/O はありません。

于 2013-01-12T16:14:43.260 に答える
0

ASP.NET から呼び出される同様のアプリケーションを作成する必要がありました。私が見つけた最良の解決策は、リソースフォルダーにxmlファイルを作成し、USER_LOGINおよびPASSWORD属性を更新することでした。

もう 1 つの注意点は、HPILO に送信するときに、xml 宣言を認識しないため、先頭から xml 宣言を削除する必要があることです。ファイルはで始まる必要があります

<RIBCL VERSION=2.0>
于 2013-01-12T16:45:01.190 に答える