如何通过linq查询从XML文件中获取特定图像 [英] How to get specific image from XML file through linq query
本文介绍了如何通过linq查询从XML文件中获取特定图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Employees>
<Employee>
<ID>104</ID>
<Name>Sumit</Name>
<<Image>Bytes.............</Image>
</Employee>
<Employee>
<ID>105</ID>
<Name>Ravi</Name>
<Image>Bytes.............</Image>
</Employee>
</Employees>
代码: -
code :-
private void button2_Click(object sender, EventArgs e)
{
XDocument doc = XDocument.Load("XMLFile/PrintLabelList.xml");
var records = (from lablemname in doc.Root.Elements("Employee")
select new
{
Image = (string)lablemname.Element("Image").Value
}).FirstOrDefault();
if (records != null)
{
string val = records.Image;
byte[] bytes = Convert.FromBase64String(val);
MemoryStream mem = new MemoryStream(bytes);
Bitmap bmp2 = new Bitmap(mem);
pictureBox1.Image = bmp2;
}
}
我尝试了什么:
如何从xml文件中获取特定图像
What I have tried:
How to get specific image from xml file
推荐答案
您必须从XML文档中获取更多字段。
此处还收集了ID和名称。
You must grab some more fields from your XML document.
Here also ID and Name are collected.
XDocument doc = XDocument.Load("XMLFile/PrintLabelList.xml");
var records = (from lablemname in doc.Root?.Elements("Employee")
select new
{
ID = lablemname.Element("ID")?.Value,
Name = lablemname.Element("Name")?.Value,
Image = lablemname.Element("Image")?.Value,
});
您可以轻松获得任何希望的项目,例如通过其ID
You can then easily get any wished item e.g. by its ID
var item = records.FirstOrDefault(x => x.ID == "104");
可以像这样访问图像字节:
The image bytes can be accessed like this:
var imageBytes = item?.Image;
这篇关于如何通过linq查询从XML文件中获取特定图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文