在列表视图中显示内容

时间:2009-10-06 11:22:23

标签: c# .net winforms

我有一个xml文件sample.xml

我需要在名为_listView的listview中显示上面xml文件中的数字 包含名为_version的版本列,你能给我一些优化的代码吗? 那个任务

2 个答案:

答案 0 :(得分:1)

using System.Xml.Linq;


string xml = ...
string version = XElement.Parse(xml).Element("ManagedObject").Attribute("version").Value;

有一个使用listview here

的示例

答案 1 :(得分:0)

怎么样:

XNamespace ns = "http://tempuri.org/SpoDataSchema.xsd";
string version = (string)XDocument.Load("sample.xml").Root
     .Element(ns + "ManagedObject").Element(ns + "version");

或者在2.0:

XmlDocument doc = new XmlDocument();
doc.Load("sample.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("spo", "http://tempuri.org/SpoDataSchema.xsd");
XmlNode node = doc.SelectSingleNode(
    "/spo:SpoDataSchema/spo:ManagedObject/spo:version", nsmgr);
string version = node == null ? null : node.InnerText;

然后根据需要显示version。用于在ListView中显示:

using (Form form = new Form())
using (ListView lv = new ListView())
{
    lv.Dock = DockStyle.Fill;
    lv.View = View.Details;
    lv.Columns.Add("Version");
    lv.Items.Add(version);
    form.Controls.Add(lv);
    form.ShowDialog();
}