C#如何实现string循环组合??
文档要求:有好几组<URL>....</URL> 现在需要把他们组成一个string,然后 发出去。应该怎样编写这个循环,把他们组合起来呢?<URL>
<id>XXXXXXX</id>
<type>XXXXXXX</type>
</URL>
……
<URL>
<id>XXXXXXX</id>
<type>XXXXXXX</type>
</URL>
需要实现的程序大概如下:
string url = "";
for(int i = 0; i < count; i++)
{
url = string.Format( //需要实现循环
" <URL>\r\n" +
" <id>{0}</id>\r\n" +
" <type>{1}</type>\r\n" +
" </URL>\r\n", 1, 1);
string.Concat(url);
}
string xml = string.Format(
"<?xml version=\"1.0\" encoding=\"GB2312\" standalone=\"yes\"?>\r\n" +
"<request command=\"QueryAlarmRes\">\r\n" +
" <parameters>\r\n" +
" <cuId>{0}</cuId>\r\n" +
" <cuUserId>{1}</cuUserId>\r\n" +
" <group>\r\n" +
" %s " +
" </group>\r\n" +
" </parameters>\r\n" +
"</request>\r\n", mCuId, mUserID, url);
就是说把红色的那部分循环代码放到xml里面。但是红色部分的代码我不知道怎么样实现,因为有好几组<URL>....</URL>。上面我的代码是错误的。 C# --------------------编程问答-------------------- 输入和输出其实都是XML
你去找点XmlDocument的例子就明白了 --------------------编程问答-------------------- 一个 StringBuilder不就完事了吗 --------------------编程问答--------------------
--------------------编程问答-------------------- StringBuilder sb = new StringBuilder();
public List<string> ReadeURL()
{
List<string> urls = new List<string>();
try
{
XmlDocument myDoc = new XmlDocument();
myDoc.Load(path);
XmlNodeList nodes = myDoc.GetElementsByTagName("URL");
foreach (XmlNode xn in nodes)
{
string url = xn.OuterXml;
urls.Add(url);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
return urls;
}
for(int i = 0; i < count; i++)
{
url = string.Format( //需要实现循环
" <URL>\r\n" +
" <id>{0}</id>\r\n" +
" <type>{1}</type>\r\n" +
" </URL>\r\n", 1, 1);
sb.Append(url);
}
string result = sb.ToString(); --------------------编程问答-------------------- 你的代码报错是因为你用错了xml的方法 --------------------编程问答--------------------
if (this.Items != null && this.Items.Count > 0)
{
xmlWriter.WriteStartElement(this.Name);
xmlWriter.WriteRaw("\r\n");
foreach (XmlNodeInfo item in this.Items)
{
item.WriterXml(xmlWriter);
}
xmlWriter.WriteEndElement();
xmlWriter.WriteRaw("\r\n");
}
else
{
xmlWriter.WriteElementString(this.Name, this.InnerText);
你可以这样试试
补充:.NET技术 , C#