xml文档操作C#objXmlDoc.AppendChild(objXmlDoc.CreateXmlDeclaration( 1.0,utf-8 ,null));//置xml的版本格式信息objXmlDoc.AppendChild(objXmlDoc.CreateElement( , sRoot, ));//建根元素objXmlDoc.Save(XmlFile);//保存else//否 文件是否存在 不存在 建if(!(File.Exists(XmlFile)))objXmlDoc.AppendChild(objXmlDoc.CreateXmlDeclaration( 1.0,utf-8,null));objXmlDoc.AppendChild(objXmlDoc.CreateElement( , sRoot, ));objXmlDoc.Save(XmlFile);objXmlDoc.Load(XmlFile);catch(System.Exception ex)throw ex;strXmlFile=XmlFile;
///param name=XmlPathNode xPath /param
///returns有数据返回DataView 否返回null/returnspublic DataView GetData(string XmlPathNode)
//找数据。返回一个D ataVi ew
DataSet ds=new DataSet();try
StringReader read = newStringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);ds.ReadXml(read);
return ds.Tables[0].DefaultView;c atch
//throw;return null;
///summary
///更新点内容
////summary
///param name=xmlPathNode/param
///param name=content/parampublic void UpdateNode(string xmlPathNode, string content)objXmlDoc.SelectSingleNode(xmlPathNode).InnerText=content;
///summary
///更新点的某个属性
////summary
///param name=xmlPathNode要操作的点/param
///p aram name=AttribName属性名/p aram
///param name=AttribValue属性 /parampublic void UpdateNode(string xmlPathNode, string AttribName, string AttribValue)
((XmlElement)(objXmlDoc.SelectSingleNode(xmlPathNode))).SetAttribute(AttribName,AttribValue);
///param name=xmlPathNode要操作点的xpath句/param
///p aram name=arrAttribName属性名称字符串数 /p aram
///p aram name=arrAttrib Content属性内容字符串数 /param
///param name=content 点内容/parampublic void UpdateNode(string xmlPathNode, string[] arrAttribName, string[] arrAttribContent,string content)
XmlNode xn=objXmlDoc.SelectSingleNode(xmlPathNode);if(xn!=null)xn.InnerText=content;xn.Attributes.RemoveAll();for(int i=0; i=arrAttribName.GetUpperB ound(0); i++)
((XmlElement)(xn)).S etAttribute(arrAttribName[i],arrAttrib C ontent[i]);
///summary
///移除定点集的所有属性
////summary
///param name=xmlPathNode/parampublic void RemoveAllAttribute(string xmlPathNode)
XmlNodeList xnl=objXmlDoc.SelectNodes(xmlPathNode);foreach(XmlNode xn in xnl)xn.Attributes.RemoveAll();string mainNode=Node.Substring(0,Node.LastIndexOf(/));objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));c atch
//throw;
r e turn;public void InsertNodeWithChild(string mainNode, string ChildNode, string Element, stringContent)
//插入一点和此点的一子点。
XmlNode objRootNode=objXmlDoc.SelectSingleNode(mainNode);
XmlElement obj ChildNode=objXmlDoc.CreateElement(ChildNode);objRootNode.AppendChild(obj ChildNode);//插入点
XmlElement objElement=objXmlDoc.CreateElement(Element);obj Element.InnerText=Content;obj ChildNode.AppendChild(objElement);//插入子点
///summary
///插入一个点 一个Attribute和innerText
////summary
///param name=mainNode/param
///param name=Element 点名称/param
///p aram name=Attrib Attribute名称/param
///param name=Attrib Content Attribute /param
///param name=Content innerText /parampublic void InsertNode(string mainNode, string Element, string Attrib, string AttribContent,string Content)
XmlNode objNode=objXmlDoc.SelectSingleNode(mainNode);
XmlElement objElement=objXmlDoc.CreateElement(Element);obj Element.S etAttribute(Attrib,Attrib Content);
obj Element.InnerText=Content;objNode.AppendChild(objElement);
///summary
///插入一个点 一个Attrib ute
////summary
///param name=mainNode/param
///param name=Element 点名称/param
///p aram name=Attrib Attribute名称/param
///param name=Attrib Content Attribute /parampublic void InsertNode(string mainNode, string Element, string Attrib, string AttribContent)XmlNode objNode=objXmlDoc.SelectSingleNode(mainNode);
XmlElement objElement=objXmlDoc.CreateElement(Element);obj Element.S etAttribute(Attrib,Attrib Content);objNode.AppendChild(objElement);
///param name=Element 点名称/parampublic void InsertNode(string mainNode, string Element)
XmlNode objNode=objXmlDoc.SelectSingleNode(mainNode);
XmlElement objElement=objXmlDoc.CreateElement(Element);objNode.AppendChild(objElement);
///summarypublic void InsertNode(string mainNode, string elementName, string[] arrAttributeName,
string[]arrAttributeContent, string elementContent)try
XmlNode objNode=objXmlDoc.SelectSingleNode(mainNode);
XmlElement objElement=objXmlDoc.CreateElement(elementName);for(int i=0; i=arrAttributeName.GetUpperB ound(0); i++)obj Element.S etAttribute(arrAttributeName[i],arrAttribute C ontent[i]);obj Element.InnerText=elementContent;objNode.AppendChild(objElement);c atchthrow;
//string t=mainNode;
//;
///summary
///插入一个点 多个属性
////summarypublic void InsertNode(string mainNode, string elementName, string[] arrAttributeName,string[]arrAttribute Content)try
XmlNode objNode=objXmlDoc.SelectSingleNode(mainNode);
XmlElement objElement=objXmlDoc.CreateElement(elementName);for(int i=0; i=arrAttributeName.GetUpperB ound(0); i++)obj Element.S etAttribute(arrAttributeName[i],arrAttribute C ontent[i]);
//obj Element.InnerText=elementContent;
objNode.AppendChild(objElement);c atchthrow;
//string t=mainNode;
//;
///summary
///插入子点(多个属性)
////summary
///param name=parentNode要插入的父点/param
///param name=elementName插入的点名称/param
///p aram name=arrAttributeName属性名称[数] /p aram
///p aram name=arrAttribute Content属性内容[数] /param
///param name=elementContent 点内容/parampublic void AddChildNode(string parentNodePath, string elementName, string[]arrAttributeName, string[]arrAttributeContent, string elementContent)try
XmlNode parentNode=objXmlDoc.SelectSingleNode(parentNodePath);
XmlElement obj ChildElement=objXmlDoc.CreateElement(elementName);for(int i=0; i=arrAttributeName.GetUpperB ound(0); i++)obj ChildElement.S etAttribute(arrAttributeName[i],arrAttribute Content[i]);obj ChildElement.InnerText=elementContent;parentNode.AppendChild(obj ChildElement);
c atchr e turn;
///summary
///插入子点(将内容以CD ata形式写入)
////summary
///param name=parentNode要插入的父点/param
///param name=elementName插入的点名称/param
///param name=elementContent 点内容/parampublic void AddChildNodeCData(string parentNodePath, string elementName, stringelementContent)try
XmlNode parentNode=objXmlDoc.SelectSingleNode(parentNodePath);
XmlElement obj ChildElement=objXmlDoc.CreateElement(elementName);
//写入cData数据
XmlCDataSection xcds=objXmlDoc.CreateCDataSection(elementContent);obj ChildElement.AppendChild(xcds);parentNode.AppendChild(obj ChildElement);c atchr e turn;
///param name=parentNode要插入的父点/param
///param name=elementName插入的点名称/param
///param name=elementContent 点内容/param
public void AddChildNode(string parentNodePath, string elementName, string elementContent)try
XmlNode parentNode=objXmlDoc.SelectSingleNode(parentNodePath);
XmlElement obj ChildElement=objXmlDoc.CreateElement(elementName);obj ChildElement.InnerText=elementContent;parentNode.AppendChild(obj ChildElement);c atchr e turn;
///summary
///根据xp ath 找点
////summary
///p aram name=NodeP ath要找点的xp ath /p aram
///returns找到返回true,否返回true/returnspublic bool FindNode(string NodePath)tryif(objXmlDoc.SelectSingleNode(NodePath) !=null)return true;elsereturn false;c atchreturn false;
用方法
2021年6月底,raksmart开发出来的新产品“cloud-云服务器”正式上线对外售卖,当前只有美国硅谷机房(或许以后会有其他数据中心加入)可供选择。或许你会问raksmart云服务器怎么样啊、raksm云服务器好不好、网络速度快不好之类的废话(不实测的话),本着主机测评趟雷、大家受益的原则,先开一个给大家测评一下!官方网站:https://www.raksmart.com云服务器的说明:底层...
BuyVM针对中国客户推出了China Special - STREAM RYZEN VPS主机,带Streaming Optimized IP,帮你解锁多平台流媒体,适用于对于海外流媒体有需求的客户,主机开设在拉斯维加斯机房,AMD Ryzen+NVMe磁盘,支持Linux或者Windows操作系统,IPv4+IPv6,1Gbps不限流量,最低月付5加元起,比美元更低一些,现在汇率1加元=0.7...
Pia云是一家2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台上,商家主要销售VPS服务,采用KVM虚拟架构 ,机房有美国洛杉矶、中国香港和深圳地区,洛杉矶为crea机房,三网回程CN2 GIA,带20G防御,常看我测评的朋友应该知道,一般带防御去程都是骨干线路,香港的线路也是CN2直连大陆,目前商家重新开业,价格非常美丽,性价比较非常高,有需要的朋友可以关注一下。活动方案...