C# 将xml字符串和变量存储到文件中

C# 将xml字符串和变量存储到文件中,c#,xml,string,C#,Xml,String,我有一些这种格式的字符串: public static string Script(string user, string password) { return @"<?xml version='1.0'?>" + "<RIBCL VERSION='2.0'>" + "<LOGIN USER_LOGIN='" + user + "' PASSWORD='" + password + "'>"

我有一些这种格式的字符串:

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
需要是实际的字符串变量


我可以将每个字符串(相当多)存储到它们自己的文件中,而不是为每个字符串使用一个不同的方法吗?唯一需要做的就是每次都需要添加的
用户
密码
变量,因此不确定如何处理该部分。

首先,不要使用字符串操作构建XML。规则是不同的。例如,如果
password
中有一个对xml属性无效的字符,该怎么办


其次,我建议您使用LINQtoXML构建XML。没有那样的文件I/O。

首先,不要使用字符串操作构建XML。规则是不同的。例如,如果
password
中有一个对xml属性无效的字符,该怎么办


其次,我建议您使用LINQtoXML构建XML。没有那样的文件I/O。

尝试存储类似字符串的字符串格式模板

例如:

<?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>

如果您的每个字符串只有
用户
密码
字段,这将起作用,应该设置这些字段。

尝试存储类似字符串的字符串格式模板

例如:

<?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>

如果您的每个字符串只有
user
password
字段,那么它就可以工作了,应该设置这些字段。

我必须创建一个类似的应用程序,以便从ASP.NET调用。我发现最好的解决方案是在resources文件夹中创建xml文件,只需更新USER\u LOGIN和PASSWORD属性

另一点需要注意的是,当发送到HPILO时,需要从顶部删除xml定义,因为它无法识别xml定义。该文件应以开头

<RIBCL VERSION=2.0>

我不得不创建一个类似的应用程序,从ASP.NET调用。我发现最好的解决方案是在resources文件夹中创建xml文件,只需更新USER\u LOGIN和PASSWORD属性

另一点需要注意的是,当发送到HPILO时,需要从顶部删除xml定义,因为它无法识别xml定义。该文件应以开头

<RIBCL VERSION=2.0>



我还没有真正将任何内容保存到文件中。然后使用.net POST将该字符串发送到另一台计算机上的接口,该计算机侦听该类型的格式并发送回响应。我的意思是,如果您使用LINQ to XML构建XML,那么您就不必处理文件。我还没有真正将任何内容保存到文件中。然后使用.net POST将该字符串发送到另一台计算机上的接口,该计算机侦听该类型的格式并发送回响应。我的意思是,如果您使用LINQ to XML构建XML,那么您就不必处理文件。请使用password=
123/>456
尝试您的代码。当输入进入文本框,然后写入流。然后尝试打开结果XML。@I4V:更好的例子是
123使用密码尝试代码=
123/>456
。当输入进入文本框,然后写入流。然后尝试打开结果XML。@I4V:更好的例子是
123HTML编码不同于XML编码。这是通过字符串操作构建XML的另一种情况,也存在同样的问题。正如另一位用户之前评论的那样,请使用password=
123/>456来尝试此操作。是的,这正是我想要的。谢谢。使用以下命令确实可以正常工作:
XmlDocument doc=newxmldocument();doc.Load(“Get_ILO_Details.xml”);string finalScript=string.Format(doc.InnerXml、txtILOUserName.Text、txtILOPassword.Text)生成的XML包含
,但它不是“ok”。在
HttpUtility之后。HtmlEncode
结果将包含
HTML编码与XML编码不同。这是通过字符串操作构建XML的另一种情况,也存在同样的问题。正如另一位用户之前评论的那样,请使用password=
123/>456来尝试此操作。是的,这正是我想要的。谢谢。使用以下命令确实可以正常工作:
XmlDocument doc=newxmldocument();doc.Load(“Get_ILO_Details.xml”);string finalScript=string.Format(doc.InnerXml、txtILOUserName.Text、txtILOPassword.Text)生成的XML包含不“确定”的
。在
HttpUtility之后。HtmlEncode
结果将包含仅适用于ilo3或4的
,2需要它。但是在3和4中使用它仍然可以运行脚本,所以它很好,只适用于ilo3或4,2需要它。但是在3和4中使用它仍然可以运行脚本,所以这很好