在使用XML数据的过程中,我试图做的是什么;从XML打印数组 - C#
用户从一个DropDownList
用于与上述名称的每个节点选择名称值,值被添加到列表然后
列表转换为字符串数组
**打印阵列进行测试,没有输出
将字符串数组转换为int arra Y(允许在 阵列计算)
**打印不提供输出再次
这里是我已经生成的代码,我没有得到任何错误,只是没有输出,所以我不能告诉我们,如果数组已填充。
if (DropDownList1.SelectedItem.Text=="Cabin")
{
//Load XML document
XmlDocument xml = new XmlDocument();
xml.LoadXml(Server.MapPath("~/Upload/" + FileUpload1.FileName));
// xnList = nodes -> rows with Cabin
XmlNodeList xnList = xml.SelectNodes("/root/row[@name='Cabin']");
//create a string list
List<string> strvalues = new List<string>();
//populate list with values @ node Cabin
foreach (XmlNode xn in xnList)
{
strvalues.Add(xn["value"].InnerText);
}
//convert list to array
strvalues.ToArray();
for (int i = 0; i < 2; i++)
{
//print array
Console.WriteLine(strvalues[i]);
}
//convert string array to int array for data manipulation
int[] values = strvalues.Select(x => int.Parse(x)).ToArray();
for (int i = 0; i < values.Length; i++)
{
//print array
Console.WriteLine(values[i]);
}
}
这里还是XML文件的一部分;
<root>
<row>
<var name="Name" value="Garcia" />
<var name=" Surname" value=" Jose" />
<var name=" Country" value=" Cuba" />
<var name=" Job" value="Software Developer" />
<var name=" Cabin" value="345" />
</row>
<row>
<var name="Name" value="Lenon" />
<var name=" Surname" value="Tim" />
<var name=" Country" value="USA" />
<var name=" Job" value="SoftwareDeveloper" />
<var name=" Cabin" value="444" />
</row>
</root>
感谢您指出间距问题,原因是我将一个.csv文件转换为XML,所以显然有一个我忽略的间距问题。至于转换为数组我需要能够传递一个数组数组,所以我只是认为最好将列表转换为int数组最终 – user123
将其转换为int数组的代码很好,这是以前对'strvalues.ToArray()'的调用,它是多余的(并且没有效果,因为就像我所说的,你忽略了返回值)。 – Sven