C# 将Xml元素和内容读/写到listBox对象
这是一个Xml文件,我想加载并获取元素中的内容,而不需要标记来读取分配给LogRecord的内容,以便添加到listHoursLog listBox。现在,我想要的是LogRecord=2/28/2014 8:31 PM-12:00 AM Total Time:00:00:01中写的内容,完全相同,不解析为元素等。就像将HoursLog作为字符串列出一样,这样我可以进一步使用它。对于每个LogRecord元素,我需要将它们全部加载到各自独立的行上的列表框中C# 将Xml元素和内容读/写到listBox对象,c#,xml,forms,C#,Xml,Forms,这是一个Xml文件,我想加载并获取元素中的内容,而不需要标记来读取分配给LogRecord的内容,以便添加到listHoursLog listBox。现在,我想要的是LogRecord=2/28/2014 8:31 PM-12:00 AM Total Time:00:00:01中写的内容,完全相同,不解析为元素等。就像将HoursLog作为字符串列出一样,这样我可以进一步使用它。对于每个LogRecord元素,我需要将它们全部加载到各自独立的行上的列表框中 <?xml version="1
<?xml version="1.0" encoding="utf-8"?>
<!--Save Log from previous use.-->
<!--fName lName| 2/28/2014 @ 8:31 PM-->
<root>
<LogRecord LogRecord="2/28/2014 8:31 PM to 12:00 AM Total Time: 00:00:01" />
</root>
一些代码我一直试图把我在互联网上找到的东西拼凑起来。我一直在寻找代码,不读取内部元素的内容,但元素本身,这是无用的,我需要
var logList = XDocument.Load(XMLConfigFile).Root.Elements(); //XmlConfigFile is the source of the Xml data
var contents= from element in logList.Descendants("element")
select new {
attribute = element.Attribute("LogRecord").Value //Display contents of element <LogRecord>
};
listHoursLog.Items.Add(contents);
您可以这样尝试:
var logList = XDocument.Load(XMLConfigFile).Root.Elements(); //XmlConfigFile is the source of the Xml data
var contents= from element in logList
select (string)element.Attribute("LogRecord");
foreach(var content in contents)
{
listHoursLog.Items.Add(content);
}
更新了我的答案以选择字符串而不是匿名对象新建{..}在我使用此代码时,system.Linq.Enumerable+WhereSelectIterator'[system.Xml.Linq.XElement,f_anonymous Type 0'1[system.string]]会准确打印此内容。。。。。。不是elementcheck更新答案中的内容。我们需要使用foreach将contents中的每个项添加到listbox。顺便问一下,你的应用程序是什么平台的,ASP.NET、winform、WPF等等?它是在C、windows窗体应用程序中