Получить битмап из xml - C#
Формулировка задачи:
Есть такой xml файл
И вот такой код
Интересует вот этот кусок Bitmap img = childnode.InnerText; Должно получится Bitmap img = Properties.Resources.fabric_64; Но то, что я получаю из xml - текст. Как в такой ситуации быть?
Листинг программы
- <?xml version="1.0" encoding="utf-8" ?>
- <items>
- <item>
- <id>0</id>
- <name>Предмет 1</name>
- <price>100</price>
- <bitmap>Properties.Resources.fabric_64;</bitmap>
- </item>
Листинг программы
- void All_items_on_massive()
- {
- XmlDocument xDoc = new XmlDocument();
- xDoc.Load("items.xml");
- XmlElement xRoot = xDoc.DocumentElement;
- foreach (XmlNode xnode in xRoot)
- {
- foreach (XmlNode childnode in xnode.ChildNodes)
- {
- if (childnode.Name == "id")
- {
- Items.item[i].id = Convert.ToInt32(childnode.InnerText);
- }
- if (childnode.Name == "name")
- {
- Items.item[i].name = childnode.InnerText;
- }
- if (childnode.Name == "price")
- {
- Items.item[i].price = Convert.ToDouble(childnode.InnerText);
- }
- if (childnode.Name == "bitmap")
- {
- Bitmap img = childnode.InnerText;
- }
- }
- }
- }
В обычном случае сошло бы мне и так
Bitmap img= new Bitmap(""+childnode.InnerText+"");
если бы в xml был бы прописан путь к файлу. А как, чтобы прям из ресурсов?
Решение задачи: «Получить битмап из xml»
textual
Листинг программы
- var name = "Properties.Resources.fabric_64";
- name = name.Split(new char[]{'.'}, 3)[2];
- var bmp = (Bitmap)Properties.Resources.ResourceManager.GetObject(name);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д