C# 在winforms中将xml内容显示在列表视图中
我有一个xml文件sample.xmlC# 在winforms中将xml内容显示在列表视图中,c#,.net,xml,winforms,C#,.net,Xml,Winforms,我有一个xml文件sample.xml <?xml version="1.0" standalone="yes"?> <DataSchema xmlns="http://tempuri.org/DataSchema.xsd"> <ManagedObject> <Label>sam</Label> <Owner>00000000-0000-0000-0000-000000000000</Owner&g
<?xml version="1.0" standalone="yes"?>
<DataSchema xmlns="http://tempuri.org/DataSchema.xsd">
<ManagedObject>
<Label>sam</Label>
<Owner>00000000-0000-0000-0000-000000000000</Owner>
<ClassID>00000000-0000-0000-0000-000000000008</ClassID>
<DefaultApp>00000000-0000-0000-0000-000000000000</DefaultApp>
<Name>rvi</Name>
<version>9.6</version>
</ManagedObject>
</DataSchema>
山姆
00000000-0000-0000-0000-000000000000
00000000-0000-0000-0000-000000000008
00000000-0000-0000-0000-000000000000
rvi
9.6
我需要从上面的xml文件向listview显示9.6(9.6)。我启动了一个新的windowform应用程序。我添加了名为“\u listview”的listview,将其视图设置为“详细”模式
有一个命名的版本
您能给我在listview列中显示版本号的代码吗?如果您的XML文件始终具有此结构,您可以简单地使用:
string version = "";
int n = 0;
using (DataSet ds = new DataSet())
{
ds.ReadXml(@"sample.xml");
if(ds.Tables.Contains("ManagedObject")
&& ds.Tables["ManagedObject"].Rows.Count > n)
{
ver = ds.Tables["ManagedObject"].Rows[n]["version"].ToString();
}
}
获取第n个ManagedObject
版本
在您的示例中,只有1个,因此n=0
如果要将“版本”添加为将显示在listview第一列中的项目:
listView1.Items.Add(version);
如果要将“版本”添加到第二列中的现有项,请使用:
listview1.Items[n].SubItems.Add(version);
您可以查看更多详细信息。这也可以
XmlDocument doc = new XmlDocument();
doc.Load(@"F:\xml\sample.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("sam", "http://tempuri.org/DataSchema.xsd");
XmlNode node = doc.SelectSingleNode(
"/sam:DataSchema/sam:ManagedObject/sam:version", nsmgr);
string version = node == null ? null : node.InnerText;
_listview.Items.Add(version);
根据我在问题中提供的信息,你能给我完整的代码到listview吗?根据它的工作逻辑,这对我有好处,但是如何在listview中显示一些东西?\u listview.items.add那样我得到了很抱歉打扰你,,\u listview.items.add(版本);will givei又发了一个答案najmeddine,,你能检查一下吗?,它也会起作用