用VS2005 编写的DOM.(append.insert.replace.remove)

http://tech.ddvip.com   2007年10月05日    社区交流

内容摘要:本文介绍如何用C#生成一个完整的xml文件?主要是<?xml version=1.0>这个标记怎样生成?

usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Xml;publicpartialclass_Default:System.Web.UI.Page
{
  protectedvoidPage_Load(objectsender,EventArgse)
  {
    XmlDocumentdocument=newXmlDocument();
    AddElement(document);
    RepalceElement(document);
    RepalceAttrbute(document);
    InsertElement(document);
    RemoveElement(document);
  }
  
  privatevoidAddElement(XmlDocumentdocument) //添加元素
  {
    XmlDeclarationdeclaration=document.CreateXmlDeclaration("1.0","gb2312","yes");
    document.AppendChild(declaration);
    XmlElementbookselement=document.CreateElement("books");
    document.AppendChild(bookselement);
    XmlElementbkelement=document.CreateElement("book");
    bookselement.AppendChild(bkelement);
    XmlElementnameelement=document.CreateElement("name");
    nameelement.InnerText="java";
    bkelement.AppendChild(nameelement);
    XmlElementpriceelement=document.CreateElement("price");
    priceelement.InnerText="120";
    bkelement.AppendChild(priceelement);
    XmlElementauthorelement=document.CreateElement("author");
    authorelement.SetAttribute("id","1");
    authorelement.InnerText="welinmus";
    bkelement.AppendChild(authorelement);
  
    bkelement=document.CreateElement("book");
    bookselement.AppendChild(bkelement);
    nameelement=document.CreateElement("name");
    nameelement.InnerText="XML";
    bkelement.AppendChild(nameelement);
    priceelement=document.CreateElement("price");
    priceelement.InnerText="100";
    bkelement.AppendChild(priceelement);
    authorelement=document.CreateElement("author");
    authorelement.SetAttribute("id","2");
    authorelement.InnerText="Lobinshion";
    bkelement.AppendChild(authorelement);
  
    bkelement=document.CreateElement("book");
    bookselement.AppendChild(bkelement);
    nameelement=document.CreateElement("name");
    nameelement.InnerText="SQLServer";
    bkelement.AppendChild(nameelement);
    priceelement=document.CreateElement("price");
    priceelement.InnerText="110";
    bkelement.AppendChild(priceelement);
    authorelement=document.CreateElement("author");
    authorelement.SetAttribute("id","3");
    authorelement.InnerText="John.Smith";
    bkelement.AppendChild(authorelement);
  
    document.Save(Server.MapPath("books.xml"));
  }
  
  privatevoidRepalceElement(XmlDocumentdocument)   //替换文本节点
  {
    document.Load(Server.MapPath("books.xml"));
    XmlNodeListnodelist=document.GetElementsByTagName("*");
    XmlElementelement;
    for(inti=0;i<nodelist.Count;i++)
    {
      element=(XmlElement)nodelist[i];
  
      if(element.Name=="name")
      {
        if(element.ChildNodes[0].Value=="java")
        {
          element.InnerText="jsp";
          break;
        }
      }
    }
  
    document.Save(Server.MapPath("books.xml"));
  }
  
  privatevoidRepalceAttrbute(XmlDocumentdocument)   //替换属性节点
  {
    document.Load(Server.MapPath("books.xml"));
    XmlNodeListnodelist=document.GetElementsByTagName("*");
    XmlElementelement;
  
    for(inti=0;i<nodelist.Count;i++)
    {
      element=(XmlElement)nodelist[i];
  
      if(element.GetAttribute("id")=="1")
      {
        element.SetAttribute("id","5");
        break;
      }
    }
  
    document.Save(Server.MapPath("books.xml"));
  }
  
  privatevoidInsertElement(XmlDocumentdocument)    //插入元素
  {
    document.Load(Server.MapPath("books.xml"));
    XmlNodeListnodelist=document.GetElementsByTagName("*");
    XmlElementelement;
    XmlElementpageelement=document.CreateElement("page");
    pageelement.InnerText="350页";
  
    for(inti=0;i<nodelist.Count;i++)
    {
      element=(XmlElement)nodelist[i];
  
      if(element.Name=="book")
      {
        if(element.ChildNodes[0].InnerText=="XML")
        {
          element.InsertAfter(pageelement,element.FirstChild);
          break;
        }
      }
    }
    document.Save(Server.MapPath("books.xml"));
  }
  
  privatevoidRemoveElement(XmlDocumentdocument)    //删除元素
  {
    document.Load(Server.MapPath("books.xml"));
    XmlNodeListnodelist=document.GetElementsByTagName("*");
    XmlElementelement;
    for(inti=0;i<nodelist.Count;i++)
    {
      element=(XmlElement)nodelist[i];
      if(element.Name=="book")
      {
        if(element.ChildNodes[0].InnerText=="XML")
        element.RemoveChild(element.ChildNodes[1]);
      }
    }
  
    document.Save(Server.MapPath("books.xml"));
  }
}

责编:豆豆技术应用

正在加载评论...