熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

讀寫xml個人小結

2013-11-13 10:33:59  來源: .NET編程 

  讀
    //打開某文件(假設nfig在根目錄中)
    string filename=ServerMapPath(/) + @WebApplication\nfig;
    XmlDocument xmldoc= new XmlDocument();
    xmldocLoad(filename);
 
    //得到頂層節點列表
    XmlNodeList topM=xmldocDocumentElementChildNodes;
    foreach(XmlElement element in topM)
    {
     if(elementNameToLower()==appsettings)
     {
 
      //得到該節點的子節點
      XmlNodeList nodelist=elementChildNodes;
 
      if ( nodelistCount > )
      {
       //DropDownListItemsClear();
 
       foreach(XmlElement el in nodelist)//讀元素值
       {
        //DropDownListItemsAdd(elAttributes[key]InnerXml);
        //thisTextBoxText=elAttributes[key]InnerText;
        thisTextBoxText=elAttributes[key]Value;
        thisLabelText=elAttributes[value]Value;
 
 
            //同樣在這裡可以修改元素值在後面save
         //  elAttributes[value]Value=thisTextBoxText;
       }
 

      }

     }

    }

    xmldocSave(filename);
 
在某節點下增加一個元素並設置值
 
    if(elementNameToLower()==appsettings)
    {
 
     XmlElement elem =xmldocCreateElement(add);
     
     elementAppendChild(elem);
     elemInnerText=ltp;
 
     xmldocSave(filename);
     
    
    }
 
 
效果

  <appSettings>
    <add key=密碼 value=admin />
    <add>ltp</add>
  </appSettings>
 
 
在某節點下增加一個元素並增加兩個屬性
    if(elementNameToLower()==appsettings)
    {
 
     XmlElement elem =xmldocCreateElement(add);
     elementAppendChild(elem);
 

     XmlAttribute xa=xmldocCreateAttribute(key);
     xaValue=ltp;
 
     XmlAttribute xa=xmldocCreateAttribute(value);
     xaValue=first;
 
     elemSetAttributeNode(xa);
     elemSetAttributeNode(xa);
 

     xmldocSave(filename);
     
    
    }
 
效果
  <appSettings>
    <add key=密碼 value=admin />
    <add key=ltp value=first />
  </appSettings>
 
 
//添加空元素
   XmlNode node=docCreateElement(groupname);
     nodeInnerText=;
     docLastChildAppendChild(node);
 
     docSave(xmlfile);
 
刪除一個節點元素
   string itemname=thislistBoxSelectedItemToString();
   
 
   thislistBoxItemsRemove(thislistBoxSelectedItem);
 
   //begin del xmlfile
   XmlDocument doc=new XmlDocument();
   docLoad(xmlfile);
   
 
   XmlNodeList topM=docDocumentElementChildNodes;
   foreach(XmlElement element in topM)
   {
    if(elementName==boBoxText)
    {
 
     //得到該節點的子節點
     XmlNodeList nodelist=elementChildNodes;      
 
     foreach(XmlElement el in nodelist)//讀元素值
     {       

  if(elAttributes[key]Value==itemname)
      {
       elementRemoveChild(el);
      }
 

     }//循環元素
      
    }//得到組
 
   }//循環組
 

   docSave(xmlfile);  //一定要保存一下否則不起作用
 
 
 
//篩選數據
private void Reader_Xml(string pathFlie)
{
   XmlDocument Xmldoc=new XmlDocument();
   XmldocLoad(pathFlie);
   XmlNodeList Record=XmldocDocumentElementSelectNodes(Code[@id=])
   int f=;
   foreach(XmlNode xnode in Record)
    {
 
    }
}
 
讀取xml節點的數據總結 
/*讀取xml數據   兩種xml方式*/
<aaa>
     <bb>something</bb>
     <cc>something</cc>
</aaa>
 
<aaa>
    <add key= value=/>
</aaa>

/*第一種方法*/
DSReadXml(your xmlfile name);
ContainerDataItem(bb);
ContainerDataItem(cc);
DSReadXmlSchema(your xmlfile name);
 
/*第二種方法*/
<aaa>
    <add key= value=/>
</aaa>
如果我要找到然後取到應該怎麼寫呢?
 
using SystemXML;
XmlDataDocument xmlDoc = new SystemXmlXmlDataDocument();
xmlDocLoad(@c:\Configxml);
XmlElement elem = xmlDocGetElementById(add);
string str = elemAttributes[value]Value
 
 
/*第三種方法:  SelectSingleNode  讀取兩種格式的xml */

<?xml version= encoding=utf ?>
<configuration>
    <appSettings>
       <ConnectionString>Data Source=yf; user id=ctm_dbo;password=</ConnectionString>             
  </appSettings>
</configuration>

XmlDocument doc = new XmlDocument();

docLoad(strXmlName);
 
    XmlNode node=docSelectSingleNode(/configuration/appSettings/ConnectionString);
    if(node!=null)
    {
     string k=nodeValue;    //null
     string k=nodeInnerText;//Data Source=yf; user id=ctm_dbo;password=
     string k=nodeInnerXml;//Data Source=yf; user id=ctm_dbo;password=
     node=null;
    }
 
********************************************************************
<?xml version= encoding=utf ?>
<configuration>
    <appSettings>
       <add key=ConnectionString value=Data Source=yf; user id=ctm_dbo;password= />             
  </appSettings>
</configuration>
****
     XmlNode node=docSelectSingleNode(/configuration/appSettings/add);
    if(node!=null)
    {
     string k=nodeAttributes[key]Value;
     string v=nodeAttributes[value]Value;
     node=null;
    }
**
    XmlNode node=docSelectSingleNode(/configuration/appSettings/add);
    if(node!=null)
    {
     XmlNodeReader nr=new XmlNodeReader(node);
     nrMoveToContent();
    //檢查當前節點是否是內容節點如果此節點不是內容節點則讀取器向前跳至下一個內容節點或文件結尾
     nrMoveToAttribute(value);
     string s=nrValue;
     node=null;
    }
From:http://tw.wingwit.com/Article/program/net/201311/14008.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.