资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

200分求2个XML问题

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

 
  我想通过程序生成一个名为Text的XML文件,希望效果如下:  
   
  <?xml   version="1.0"   encoding="gb2312"?>  
  <?xml-stylesheet   type=text/xsl   href=Text.xsl?>  
  <Text>  
   
      <Textxml>  
          <Name>   知道天高地厚</Name>  
          <Content><![CDATA[   真是不知高地厚 的东西我的心情好   ]]></Content>  
      </Textxml>  
  </Text>  
   
  问题如下:  
   
  如何指定样式     <?xml-stylesheet   type=text/xsl   href=Text.xsl?>  
   
  如何插入       <![CDATA[       ]]>  
   
  我的CS文件如下,我应该如何修改  
   
  using   System;  
  using   System.Collections;  
  using   System.ComponentModel;  
  using   System.Data;  
  using   System.Drawing;  
  using   System.Web;  
  using   System.Web.SessionState;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.Web.UI.HtmlControls;  
  using   System.Xml;  
  namespace   Asp.Net10  
  {  
  ///   <summary>  
  ///   WebForm1   的摘要说明。  
  ///   </summary>  
  public   class   WebForm1   :   System.Web.UI.Page  
  {  
  protected   System.Web.UI.WebControls.TextBox   Title;  
  protected   System.Web.UI.WebControls.TextBox   Message;  
  protected   System.Web.UI.WebControls.Button   OKbut;  
   
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  //   在此处放置用户代码以初始化页面  
  }  
   
  #region   Web   窗体设计器生成的代码  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
  this.OKbut.Click   +=   new   System.EventHandler(this.OKbut_Click);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  #endregion  
   
  private   void   OKbut_Click(object   sender,   System.EventArgs   e)  
  {  
  string   Titlestr,Messagestr;  
  Titlestr=Title.Text;  
  Messagestr=Message.Text;  
   
   
  XmlDocument   xmldoc   =   new   XmlDocument();  
   
  xmldoc.Load(Server.MapPath("Text.xml"));  
   
  XmlNode   root=xmldoc.DocumentElement;  
   
  XmlNode   newElem=xmldoc.CreateElement("Textxml");  
   
  XmlNode   subElem=xmldoc.CreateElement("Name");  
   
  subElem.InnerText=Titlestr;  
   
  newElem.AppendChild(subElem);  
   
  subElem=xmldoc.CreateElement("Content");  
   
  subElem.InnerText=Messagestr;  
   
  newElem.AppendChild(subElem);  
   
  root.AppendChild(newElem);  
       
  xmldoc.Save(Server.MapPath("Text.xml"));  
   
  }  
  }  
  }  
 

网友回答:

发表者:BearRui

XmlDocument   doc=new   XmlDocument();  
  string   sXml="<Text>"   +  
        "<Textxml>"   +  
      "<Name></Name>"+  
      "<Content></Content>"+  
      "</Textxml>"   +  
      "</Text>";  
   
  doc.LoadXml(sXml);  
     
  XmlDeclaration   dec=doc.CreateXmlDeclaration("1.0","GB2312",null);  
  string   PItext   =   "type=text/xsl   href=text.xsl";  
  XmlProcessingInstruction   pi=doc.CreateProcessingInstruction("xml-stylesheet",PItext);  
   
  doc.InsertBefore(dec,doc.DocumentElement);  
  doc.InsertBefore(pi,doc.DocumentElement);  
   
  doc.DocumentElement.ChildNodes[0].ChildNodes[0].InnerText="知道天高地厚";  
   
  XmlCDataSection   CDs=doc.CreateCDataSection("真是不知高地厚 的东西我的心情好");  
  doc.DocumentElement.ChildNodes[0].ChildNodes[1].AppendChild(CDs);  
   
  doc.Save(@"e:\1234.xml");

发表者:BearRui

上面只是让你认识怎么指定样式和指定XML的申明、创作CDATA节点,  
  如果是真真的用,下面的更加方便  
   
  --------------------------------------------------  
  XmlDocument   doc=new   XmlDocument();  
  string   sXml="<?xml   version=1.0   encoding=gb2312?>"+  
        "<?xml-stylesheet   type=text/xsl   href=text.xsl?>"+  
                            "<Text>"   +  
        "<Textxml>"   +  
    "<Name>知道天高地厚</Name>"+  
  "<Content><![CDATA[真是不知高地厚 的东西我的心情好]]></Content>"+  
    "</Textxml>"   +  
    "</Text>";  
   
  doc.LoadXml(sXml);  
  doc.Save(@"e:\1234.xml");  
 

发表者:goody9807

已知有一个XML文件如下:  
   
  <?xml   version="1.0"   encoding="gb2312"?>  
  <bookstore>  
      <book   genre="fantasy"   ISBN="2-3631-4">  
          <title>Oberons   Legacy</title>  
          <author>Corets,   Eva</author>  
          <price>5.95</price>  
      </book>  
  </bookstore>  
      1、往<bookstore>节点中插入一个<book>节点:  
   
           
   
  XmlDocument   xmlDoc=new   XmlDocument();  
        xmlDoc.Load("bookstore.xml");  
        XmlNode   root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>  
        XmlElement   xe1=xmlDoc.CreateElement("book");//创建一个<book>节点  
        xe1.SetAttribute("genre","李赞红");//设置该节点genre属性  
        xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性  
     
        XmlElement   xesub1=xmlDoc.CreateElement("title");  
        xesub1.InnerText="CS从入门到精通";//设置文本节点  
        xe1.AppendChild(xesub1);//添加到<book>节点中  
        XmlElement   xesub2=xmlDoc.CreateElement("author");  
        xesub2.InnerText="候捷";  
        xe1.AppendChild(xesub2);  
        XmlElement   xesub3=xmlDoc.CreateElement("price");  
        xesub3.InnerText="58.3";  
        xe1.AppendChild(xesub3);  
     
        root.AppendChild(xe1);//添加到<bookstore>节点中  
        xmlDoc.Save("bookstore.xml");  
    //================  
      结果为:  
   
    <?xml   version="1.0"   encoding="gb2312"?>  
  <bookstore>  
      <book   genre="fantasy"   ISBN="2-3631-4">  
          <title>Oberons   Legacy</title>  
          <author>Corets,   Eva</author>  
          <price>5.95</price>  
      </book>  
      <book   genre="李赞红"   ISBN="2-3631-4">  
          <title>CS从入门到精通</title>  
          <author>候捷</author>  
          <price>58.3</price>  
      </book>  
  </bookstore>  
 

发表者:BearRui

首先是XML文件:  
   
  <?xml   version="1.0"   encoding="gb2312"?>  
  <?xml-stylesheet   type=text/xsl   href=test.xsl?>  
  <Text>  
      <Textxml>  
          <Name>   知道天高地厚</Name>  
          <Content><![CDATA[   真是不知高地厚<img   src="pic/text.gif"   />的东西我的心情好]]></Content>  
      </Textxml>  
  </Text>  
  test.xsl:  
   
  <?xml   version="1.0"   encoding="gb2312"   ?>  
  <xsl:stylesheet     version="1.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
  <xsl:template   match="/Text/Textxml">  
      <xsl:value-of   select="Content"   disable-output-escaping   =   "yes"   />  
  </xsl:template>  
  </xsl:stylesheet>  
  </Text>

发表者:net_lover

string   xml   =   "<?xml   version=\"1.0\"   encoding=\"gb2312\"?><Text><Textxml>   <Name>   知道天高地厚</Name></Textxml></Text>   ";  
  System.Xml.XmlDocument   doc   =   new   System.Xml.XmlDocument();  
  doc.LoadXml(xml);  
  Response.Clear();  
  Response.Write   (Server.HtmlEncode(doc.OuterXml));  
  Response.Write   ("<hr>");  
  System.Xml.XmlProcessingInstruction   newPI;  
  String   PItext   =   "type=text/xsl   href=Text.xsl";  
  newPI   =   doc.CreateProcessingInstruction("xml-stylesheet",   PItext);  
  doc.InsertBefore(newPI,doc.DocumentElement);  
  System.Xml.XmlNode   nod   =   doc.SelectSingleNode("//Textxml");  
  System.Xml.XmlNode   newNode   =   doc.CreateNode(System.Xml.XmlNodeType.Element,"Content","");  
  System.Xml.XmlCDataSection   CData;  
  CData   =   doc.CreateCDataSection("   真是不知高地厚 的东西我的心情好   ");  
  newNode.AppendChild(CData);  
  nod.AppendChild(newNode);  
  Response.Write   (Server.HtmlEncode(doc.OuterXml));


 

 
热门推荐笔记本: 夏新笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved