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中使用它仍然可以运行脚本,所以这很好