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;
用方法
青果网络QG.NET定位为高效多云管理服务商,已拥有工信部颁发的全网云计算/CDN/IDC/ISP/IP-VPN等多项资质,是CNNIC/APNIC联盟的成员之一,2019年荣获国家高薪技术企业、福建省省级高新技术企业双项荣誉。那么青果网络作为国内主流的IDC厂商之一,那么其旗下美国洛杉矶CN2 GIA线路云服务器到底怎么样?官方网站:https://www.qg.net/CPU内存系统盘流量宽带...
无忧云怎么样?无忧云值不值得购买?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。目前,四川雅安机房,4...
搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...