C 操作Xml樹的擴充套件類

2022-03-31 01:06:18 字數 2458 閱讀 3889

下面附上原始碼

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

using

system.reflection;

using

system.componentmodel;

using

system.web.ui.webcontrols;

using

system.xml.linq;

using

wot.infrastructure.helper.web;

using

system.text.regularexpressions;

using

system.io;

using

system.xml.serialization;

namespace

wot.infrastructure.helper.xml

//////

獲取屬性值 如果不存在則返回defaultvalue

/// public

static

string getattributevalue(this xelement element, string

name)

//////

獲取路徑的節點。如果不存在則返回defaultvalue 路徑用/隔開

///支援獲取同名同級節點中的某個,格式: elementname[index] 從0開始

/// public

static xelement getelement(this xelement element, string

xpath)

else

if (element == null) return

null

; }

}catch

(exception ex)

return

element;

}//////

兩個xml合併 把obj擁有而root沒有的節點和屬性複製給root

/// ///

原始的物件

///public

static xelement merger(this

xelement root, xelement obj)

//////

遞迴對比兩個節點,把obj擁有而root沒有的節點複製到root中

/// ///

///private

static

void

xmlmerger(xelement root, xelement obj)

else

if (childelements.count() == 1) //

有且只有乙個同名節點才啟動複製遞迴規則

xmlmerger(childelement, element);}}

}//////

遍歷所有的子元素中包含名稱的節點

/// ///

///public

static listgetelements(this xelement root, params

string

tagname)

private

static

void getelements(xelement root, listlist, params

string

tagname)

getelements(el, list, tagname);}}

//////

xml轉實體

/// ///

//////

public

static t deserializer(string strxml) where t : class

}catch

(exception ex)

}//////

從xml字串中反序列化物件

/// ///

結果物件型別

///包含物件的xml字串

///編碼方式

///反序列化得到的物件

public

static t xmldeserialize(string

xml, encoding encoding)}}

}}

操作xml樹的擴充套件類

將xml字串直接對映成實體物件

一段**搞定

操作XML的類

net framework提供了許多命名空間和類,使xml的讀取 處理和寫入非常簡單。介紹幾個易於操作xml的類。1 xmldocument類 using system.xml xmldocument document new xmldocument document.load xmlpath 2 ...

簡單XML操作類

返回xml檔案指定元素的指定屬性值 指定元素 指定屬性 public static bool getxmlvalue string key,out string value value return false 設定xml檔案指定元素的指定屬性的值 指定元素 指定屬性 指定值 public stat...

c 學習之 xml操作類XmlHelper

該操作類主要使用xmldocument方法操作類 using system using system.collections.generic using system.linq using system.text using system.xml namespace ssm.common catch...