Linq處理Xml文件的封裝

2021-06-01 03:02:32 字數 4386 閱讀 9240

using system;

using system.collections.generic;

using system.collections.specialized;

using system.text;

using system.xml.linq;

using system.linq;

namespace myquery.utils

else

else

return null;}}

}///

/// 獲得節點name陣列指定的最後乙個節點

///

/// 節點

/// 節點name陣列

/// name陣列指定的最後乙個節點,若null沒找到,否則返回第乙個匹配的

public static xelement getelement(xelement element, xname names)

else

else

else}}

return element;}}

///

/// 獲得element下node指定的子節點實體

///

/// 節點

/// element下子節點名稱

/// element下node指定的子節點實體,若null沒找到,否則返回第乙個匹配的

public static xelement getelement(xelement element, xname node));}

///

/// 獲得root下node指定的節點實體

///

/// xdocument實體

/// root下節點名稱

/// root下node指定的節點實體,若null沒找到,否則返回第乙個匹配的

public static xelement getelement(xdocument doc, xname node));}

///

/// 獲得節點name陣列指定的最後乙個節點的集合

///

/// 節點

/// 節點name陣列

/// name陣列指定的最後乙個節點的集合,若null沒找到,否則返回集合

public static ienumerablegetelements(xelement element, xname names)

else

else if (names.length == 1)

else

else if (i == names.length - 1)

else}}

return null;}}

///

/// 獲得節點name陣列指定的最後乙個節點的集合

///

/// 節點

/// 節點name陣列

/// 子節點的定義

/// 子節點的屬性名稱

/// 子節點的屬性值

/// name陣列指定的最後乙個節點的集合的nodename子節點屬性值為指定值的,若null沒找到,否則返回集合

public static ienumerablegetelements(xelement element, xname names, xname nodename, xname name, string value)

if (element == null || element.element(nodename) == null)

else

}///

/// 獲得指定屬性值

///

/// 節點實體

/// 屬性名

/// 屬性值(原始值),若""則未設定此屬性

public static string getattributeoriginal(xelement element, xname name)

else

else}}

///

/// 獲得指定屬性值(已轉化為小寫)

///

/// 節點實體

/// 屬性名

/// 屬性值(已轉化為小寫),若""則未設定此屬性

public static string getattribute(xelement element, xname name)

///

/// 獲得指定屬性值 若""則返回預設值def (已轉化為小寫)

///

/// 節點實體

/// 屬性名

///

/// 屬性值(已轉化為小寫),若""則返回預設值def

public static string getattribute(xelement element, xname name, string def)

else

}///

/// 獲得屬性的數值

///

/// 節點

/// 屬性

/// 預設值

///

public static int getintvalue(xelement element, string name, int def)

else

}///

/// 獲得節點的值

///

/// 節點實體

/// 值,若""則無值

public static string getvalue(xelement element)

else

else}}

///

/// 獲得節點的值

///

///

///

///

public static string getvalue(xelement element, xname xnames)

///

/// 給指定的屬性賦值

///

/// 節點實體 空不能賦值

/// 屬性值 屬性值為空不能賦值

/// 值物件 空或tostring()==""則不賦值 去除特殊字元

public static void setattribute(xelement element, xname name, object value)

else

if (v != "")}}

///

/// 給指定的屬性賦值

///

/// 節點

/// 節點name陣列 給最後乙個節點的屬性賦值 為空不能賦值

/// 屬性值 屬性值為空不能賦值

/// 值物件 空或tostring()==""則不賦值 去除特殊字元

public static void setattribute(xelement element, xname names, xname attname, string value)

///

/// 給指定的屬性賦值

///

/// 節點

/// 節點name陣列 給最後乙個節點的屬性賦值 為空不能賦值

/// 屬性及值集合

public static void setattribute(xelement element, xname names, namevaluecollection nvs)

else

setattribute(element, name, nvs[i]);}}

}///

/// 去除屬性值中不符合xml要求的字元

///

///

///

private static string getattributevalue(string value)

else

}///

/// 給指定的節點賦值(如果節點不存在則建立)

///

/// 節點

/// 節點及值集合

public static void setvalue(xelement element, namevaluecollection nvs)

else

string value = nvs[i];

if (!string.isnullorempty(value))

else}}

}}///

/// 獲得節點title原始值

///

/// 節實體

/// 獲得節點title原始值,返回""則未配置

public static string gettitle(xelement element)

///

/// 獲得節點dataformat原始值

///

/// 節實體

/// 獲得節點dataformat原始值,返回""則未配置

public static string getdataformat(xelement element)}}

Linq處理Xml文件的封裝

using system using system.collections.generic using system.collections.specialized using system.text using system.xml.linq using system.linq namespace...

Linq處理XML文件

處理xml文件的封裝 public static class xmlhelper return xdocument.load filename 獲得子節點實體 節點 子節點的定義 子節點的屬性名稱 子節點的屬性值 子節點屬性值為指定值的,若null沒找到,否則返回第乙個匹配的 public stat...

python對xml封裝 dom處理

usr bin python coding utf8 from xml.dom import minidom class childindexoutofbound ception exception pass class domxmlutil def init self pass def readx...