C#通過XML節(jié)點(diǎn)屬性/屬性值讀取寫入XML操作代碼實(shí)例
1.XML的內(nèi)容如下:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<title>
<settings id = "0" name = "顯示文字">歡迎您!智慧服務(wù),互動(dòng)體驗(yàn)......</settings>
<settings id = "1" name = "字體">微軟雅黑</settings>
<settings id = "2" name = "顏色">Yellow</settings>
<settings id = "3" name = "字體尺寸">48</settings>
</title>
<menu>
<submu id="0" name="部門分布"/>
<submu id="1" name="宣傳視頻"/>
<submu id="2" name="部門宣傳"/>
<submu id="3" name="會(huì)議安排"/>
</menu>
<mu1>
<submu id = "0" name = "iCentroView產(chǎn)品">
<video id = "0">Videos/ICV.mp4</video>
</submu>
<submu id = "1" name = "員工社區(qū)">
<video id = "0">Videos/ygsqxcp.mp4</video>
</submu>
<submu id = "2" name = "三維展示">
<video id = "0">Videos/iBaosight.mp4</video>
</submu>
<submu id = "1" name = "好生活宣傳">
<video id = "0">Videos/goodlift.mp4</video>
</submu>
</mu1>
<main>Picture/main.jpg</main>
</root>
2.獲得XML文檔
private static string url = AppDomain.CurrentDomain.SetupInformation.ApplicationBase+"Config\\config.xml";
private XmlDocument xmlDoc;
private XmlNode root;
public static string Title;
public XMLHandler()
{
xmlDoc = new XmlDocument();
LoadConfig();
}
private void LoadConfig()
{
try
{
xmlDoc.Load(url);
root = xmlDoc.SelectSingleNode("root");
}
catch (Exception e)
{
throw e;
}
}
3.通過屬性名稱讀取XML節(jié)點(diǎn)中的內(nèi)容
public TitleModel GetTitle()
{
try
{
TitleModel title = new TitleModel();
XmlNode node = root.FirstChild;
if(node!=null)
{
foreach (XmlNode nd in node.ChildNodes)
{
XmlElement element = (XmlElement)nd;
if (element.GetAttribute("name") == "顯示文字")
{
title.Title = nd.InnerText;
}
else if (element.GetAttribute("name") == "字體尺寸")
{
title.FontSize = Convert.ToInt32(nd.InnerText);
}
else if (element.GetAttribute("name") == "顏色")
{
title.FontColor = FontColor(nd.InnerText);
}
else if (element.GetAttribute("name") == "字體")
{
title.FontFamily = nd.InnerText;
}
}
}
return title;
}
catch (Exception e)
{
throw e;
}
}
4.通過屬性讀取XML中節(jié)點(diǎn)的屬性值
public List<string> GetMenuString()
{
try
{
List<string> list=new List<string>();
XmlNode menu = root.ChildNodes[1];
if (menu != null)
{
foreach (XmlNode node in menu.ChildNodes)
{
XmlElement element = (XmlElement)node;
list.Add(element.GetAttribute("name"));
}
}
return list;
}
catch (Exception e)
{
throw e;
}
}
5.通過節(jié)點(diǎn)獲取XML節(jié)點(diǎn)中的內(nèi)容
public string GetMainBackground()
{
string url ="Images/mainjpg";
try
{
XmlNode node = root.LastChild;
if (node != null)
{
url = node.InnerText;
}
return url;
}
catch (Exception e)
{
throw e;
}
}
- 詳解C# 匿名對(duì)象(匿名類型)、var、動(dòng)態(tài)類型 dynamic
- C#通過屬性名稱獲取(讀取)屬性值的方法
- C#正則表達(dá)式獲取下拉菜單(select)的相關(guān)屬性值
- C#讀取XML中元素和屬性值的實(shí)現(xiàn)代碼
- C#動(dòng)態(tài)對(duì)象(dynamic)詳解(實(shí)現(xiàn)方法和屬性的動(dòng)態(tài))
- C#實(shí)現(xiàn)獲取不同對(duì)象中名稱相同屬性的方法
- C#中使用反射遍歷一個(gè)對(duì)象屬性及值的小技巧
- C#利用反射來判斷對(duì)象是否包含某個(gè)屬性的實(shí)現(xiàn)方法
- C#實(shí)現(xiàn)讀取匿名對(duì)象屬性值的方法示例總結(jié)
相關(guān)文章
幾分鐘搞懂c#之FileStream對(duì)象讀寫大文件(推薦)
這篇文章主要介紹了c#之FileStream對(duì)象讀寫大文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04C#實(shí)現(xiàn)多個(gè)計(jì)時(shí)器記錄不同定時(shí)時(shí)間
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)多個(gè)計(jì)時(shí)器記錄不同定時(shí)時(shí)間,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12C#發(fā)送數(shù)據(jù)到剪貼板及從剪貼板中取數(shù)據(jù)的方法
這篇文章主要介紹了C#發(fā)送數(shù)據(jù)到剪貼板及從剪貼板中取數(shù)據(jù)的方法,涉及C#針對(duì)剪貼板數(shù)據(jù)的讀寫操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07使用C#實(shí)現(xiàn)Windows組和用戶管理的示例代碼
這篇文章主要介紹了使用C#實(shí)現(xiàn)Windows組和用戶管理的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01C#的FileSystemWatcher用法實(shí)例詳解
這篇文章主要介紹了C#的FileSystemWatcher用法,以實(shí)例形似詳細(xì)分析了FileSystemWatcher控件主要功能,并總結(jié)了FileSystemWatcher控件使用的技巧,需要的朋友可以參考下2014-11-11Unity實(shí)現(xiàn)卡片循環(huán)滾動(dòng)效果的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Unity實(shí)現(xiàn)卡片循環(huán)滾動(dòng)的效果,文中的實(shí)現(xiàn)步驟講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-12-12