问返回的问题数组 private string[] getxx() { } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那里面string[]怎么赋值呢? string [] a=new string[];//这里应该怎么写赋值?? return a; private string[] getxx() {return new string[]{a,b,c};} 我原来是s+=xe.Name+"; " + xe.InnerText;s是string 试一下 private int left = 0; public int Left { get { left=string[i]; return left; } set { left = value; } } 这是我的代码 public string[] read(string FileName,string NodeName) { string[] s=new string[8]; XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(FileName); XmlNode xn=xmlDoc.SelectSingleNode("tab_1"); XmlNodeList xnl=xn.ChildNodes; string [] a=new string[8]; foreach(XmlNode xnf in xnl) { XmlElement xe=(XmlElement)xnf; if (xe.Name==NodeName) { for(int i=0;i<a.Length;i++) { a[i]=xe.InnerText;} XmlNodeList x=xnf.ChildNodes; xmlDisplay(x, s); } } return a; } private void xmlDisplay(XmlNodeList x, string[] s){ foreach(XmlNode xa in x){ for(int i=0;i<s.Length;i++) { s[i]=xa.InnerText;} XmlNodeList xll=xa.ChildNodes; xmlDisplay(xll , s);} }这样可以吗?调用的时候怎么把返回的数组在TextBox里显示出来呢?? 没看懂要达到什么目的,贴出的XML文件,然后说清楚一下的目的!!! 如果是一个textbox: foreach(string str in s) textbox1.Text+=str;如果是多个textbox:textbox1.Text=s[1];textbox2.Text=s[2]; . . . <?xml version="1.0" encoding="gb2312" standalone="yes"?><tab_1> <Vendor_ID>3</Vendor_ID> <PlayBeginDate>2004-6-21 0:00:00</PlayBeginDate> <tab_2> <CopyKey/> <Program_cn>生活剧场片头</Program_cn> <tab_3> <PlayDate>2004-6-21 0:00:00</PlayDate> <NoOfSpots>0</NoOfSpots> <Bo> <s> <k>Coco</k> </s> </Bo> </tab_3> <tab_4> <PlayDate>2004-3-2 0:00:00</PlayDate> <NoOfSpots>1</NoOfSpots> </tab_4> </tab_2></tab_1>比如说读节点tab_2,把tab_2下所有的值都放在一个string[]里返回即把:生活剧场片头,2004-6-21 0:00:00,0, Coco,2004-3-2 0:00:00,1读出写进一个数组里返回 代码是写在public class Read{}里的 ClassLibrary1.Read p=new ClassLibrary1.Read(); string[] a=p.read("c:\\xml.xml","tab_3"); foreach(string str in a) TextBox1.Text+=str;现在的问题是我调用后TextBox1里什么也没显示 我用的是集合:--------------------private ArrayList str=new ArrayList();private void button1_Click(object sender, System.EventArgs e){XmlDocument doc=new XmlDocument();doc.Load(@"e:\123.xml");XmlNode node=doc.SelectSingleNode("/tab_1/tab_2"); Get(node,0);for(int i=0;i<str.Count;i++) Console.WriteLine(str[i].ToString());}private void Get(XmlNode node,int i){ if(node.HasChildNodes) { foreach(XmlNode nodeChild in node.ChildNodes) Get(nodeChild,i); } else { if(node.InnerText!="") { str.Add(node.InnerText.Trim()); i++; } }} private ArrayList str=new ArrayList();这个不用设置集合长度啊!!! 能帮我把上面的代码改成用arraylist的吗?我不太会用,是不是最后还要arraylist.toarray()怎么用呢?? 这是我改的代码,怎么用arraylist.toarray()将arraylist赋值给一个string[]呢?public string[] read(string FileName,string NodeName) { ArrayList al=new ArrayList(); XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(FileName); XmlNode xn=xmlDoc.SelectSingleNode("tab_1"); XmlNodeList xnl=xn.ChildNodes; foreach(XmlNode xnf in xnl) { XmlElement xe=(XmlElement)xnf; if (xe.Name==NodeName) { for(int i=0;i<al.Count;i++) { al.Add(xe.InnerText);} XmlNodeList x=xnf.ChildNodes; xmlDisplay(x, al); } } return al;//这里如何写呢? } private void xmlDisplay(XmlNodeList x, ArrayList s) { foreach(XmlNode xa in x) { for(int i=0;i<s.Count;i++) { s.Add(xa.InnerText);} XmlNodeList xll=xa.ChildNodes; xmlDisplay(xll , s); } } private string[] getxx() {return new string[]{a,b,c};}——言简意赅,同意此看法。 干嘛要换成string[]数组啊!!! 关于.net学习的困惑 怎么在TabPage里触发TreeView的DragDrop事件 dropdownlist 在后台绑定数据后, 怎么再读数据库内容赋给它的第一项 treeView的问题`` 求助`` 在线等`` 请问,金山词霸的鼠标取词的原理? 添加引用DLL的问题 Access2000时期/时间的刷选 请问谁做过C#中用DES加密的串用C代码的DES解密 求一段循环生成50个GUID的代码 我想下载visual studio.net 2003 企业版的cd1盘,我下载的缺文件,用不成!急用,在线等待! 如何用代码停止打印机 请问C#高手,C#一般用来开发什么类型的应用程序?
string [] a=new string[];
//这里应该怎么写赋值??
return a;
{
return new string[]{a,b,c};
}
s+=xe.Name+"; " + xe.InnerText;
s是string
private int left = 0;
public int Left
{
get
{
left=string[i];
return left;
}
set
{
left = value;
}
}
{ string[] s=new string[8];
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(FileName);
XmlNode xn=xmlDoc.SelectSingleNode("tab_1");
XmlNodeList xnl=xn.ChildNodes;
string [] a=new string[8];
foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;
if (xe.Name==NodeName)
{ for(int i=0;i<a.Length;i++)
{
a[i]=xe.InnerText;}
XmlNodeList x=xnf.ChildNodes;
xmlDisplay(x, s);
}
}
return a;
} private void xmlDisplay(XmlNodeList x, string[] s)
{
foreach(XmlNode xa in x)
{
for(int i=0;i<s.Length;i++)
{
s[i]=xa.InnerText;}
XmlNodeList xll=xa.ChildNodes;
xmlDisplay(xll , s);
}
}这样可以吗?调用的时候怎么把返回的数组在TextBox里显示出来呢??
foreach(string str in s)
textbox1.Text+=str;
如果是多个textbox:textbox1.Text=s[1];
textbox2.Text=s[2];
.
.
.
<tab_1>
<Vendor_ID>3</Vendor_ID>
<PlayBeginDate>2004-6-21 0:00:00</PlayBeginDate>
<tab_2>
<CopyKey/>
<Program_cn>生活剧场片头</Program_cn>
<tab_3>
<PlayDate>2004-6-21 0:00:00</PlayDate>
<NoOfSpots>0</NoOfSpots>
<Bo>
<s>
<k>Coco</k>
</s>
</Bo>
</tab_3>
<tab_4>
<PlayDate>2004-3-2 0:00:00</PlayDate>
<NoOfSpots>1</NoOfSpots>
</tab_4>
</tab_2>
</tab_1>比如说读节点tab_2,把tab_2下所有的值都放在一个string[]里返回
即把:
生活剧场片头,2004-6-21 0:00:00,0, Coco,2004-3-2 0:00:00,1
读出写进一个数组里返回
public class Read{}里的
string[] a=p.read("c:\\xml.xml","tab_3");
foreach(string str in a)
TextBox1.Text+=str;现在的问题是我调用后TextBox1里什么也没显示
--------------------
private ArrayList str=new ArrayList();private void button1_Click(object sender, System.EventArgs e)
{
XmlDocument doc=new XmlDocument();
doc.Load(@"e:\123.xml");XmlNode node=doc.SelectSingleNode("/tab_1/tab_2");
Get(node,0);for(int i=0;i<str.Count;i++)
Console.WriteLine(str[i].ToString());
}private void Get(XmlNode node,int i)
{
if(node.HasChildNodes)
{
foreach(XmlNode nodeChild in node.ChildNodes)
Get(nodeChild,i);
}
else
{
if(node.InnerText!="")
{
str.Add(node.InnerText.Trim());
i++;
} }
}
{
ArrayList al=new ArrayList();
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(FileName);
XmlNode xn=xmlDoc.SelectSingleNode("tab_1");
XmlNodeList xnl=xn.ChildNodes;
foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;
if (xe.Name==NodeName)
{
for(int i=0;i<al.Count;i++)
{
al.Add(xe.InnerText);}
XmlNodeList x=xnf.ChildNodes;
xmlDisplay(x, al);
}
}
return al;//这里如何写呢?
} private void xmlDisplay(XmlNodeList x, ArrayList s)
{
foreach(XmlNode xa in x)
{
for(int i=0;i<s.Count;i++)
{
s.Add(xa.InnerText);}
XmlNodeList xll=xa.ChildNodes;
xmlDisplay(xll , s);
}
}
{
return new string[]{a,b,c};
}——
言简意赅,同意此看法。