我有一个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>
<ClassID>00000000-0000-0000-0000-000000000008</ClassID>
<DefaultApp>00000000-0000-0000-0000-000000000000</DefaultApp>
<Name>rvi</Name>
<version>9.6</version>
</ManagedObject>
</DataSchema>
我需要从上面的xml文件到listview显示9.6(9.6)。我启动了一个新的windowform应用程序。我添加名为“_listview”的listview将其视图作为“详细”模式。我添加了一列 那里有_version 你能给我一些代码来在listview专栏中显示版本号吗
答案 0 :(得分:1)
如果你的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
。
如果您想将“版本”添加为将出现在列表视图的第一列中的项目:
listView1.Items.Add(version);
如果要将“版本”添加到辅助列中的现有项目,请使用:
listview1.Items[n].SubItems.Add(version);
您可以查看here了解更多详情。
答案 1 :(得分:0)
这也可以正常使用
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);