第一部分

                    ----基本信息

1、 如何顯示xml中的信息,運用xsl:具體如何實現如下:

xml學習心得_htmlprotected System.Web.UI.WebControls.Xml myXml;----聲明一個xml對象
xml學習心得_html
//加載xml信息
xml學習心得_html
XmlDocument xmlDoc= new XmlDocument();
xml學習心得_htmlxmlDoc.Load(Server.MapPath(
"book.xml"));
xml學習心得_html
this.myXml.Document=xmlDoc;
xml學習心得_html
xml學習心得_html
//加載樣式表                
xml學習心得_html
XslTransform xslTrans=new XslTransform();
xml學習心得_htmlxslTrans.Load(Server.MapPath(
"book.xsl"));
xml學習心得_htmlmyXml.Transform
=xslTrans;
xml學習心得_html

2、 如果在client端加載讀取信息,操作如下:

1、   通過一定的條件來讀取:

xml學習心得_htmlvar dom =new ActiveXObject"msxml2.DOMDocument.3.0");
xml學習心得_htmlvar re;
xml學習心得_htmlre = /\s/g;
xml學習心得_htmldom.async = false;
xml學習心得_htmldom.validateOnParse = false;
xml學習心得_htmldom.resolveExternals = false;
xml學習心得_htmlvar xpath,show_message;
xml學習心得_htmldom.load("xml/pensionlist.xml");
xml學習心得_htmlxpath="/Persions/persion[@Staff_id='"+ per_id +"']";                 
xml學習心得_htmlnode1=dom.selectSingleNode(xpath);
xml學習心得_htmlif (node1 != null){
xml學習心得_htmlnode1.childNodes(0).text----第一個節點的信息
xml學習心得_htmlnode1.childNodes(9).childNodes(0).text-----第十個節點的第一個子節點信息
xml學習心得_html}
xml學習心得_html
xml學習心得_html

 2、  無條件的讀取:

xml學習心得_htmlvar oDoc = new ActiveXObject"Microsoft.XMLDOM"); 
xml學習心得_htmloDoc.load("1.xml");       
xml學習心得_htmlvar objFile1=oDoc.selectSingleNode("//New_CODE");---直接取得的
xml學習心得_htmlstrcno=objFile1.text;
xml學習心得_htmlvar root=oDoc.documentElement;
xml學習心得_htmlvar objFile=root.selectNodes("//SUB_SEQ");-----可以進行循環的
xml學習心得_html     for(var inti=0;inti
<objFile.length;inti++)
xml學習心得_html     {    
xml學習心得_html      alert(objFile.item(inti).text);
xml學習心得_html     }
xml學習心得_html

3、 新增信息到xml文檔中,操作如下:(server端操作)

第一種方法:

xml學習心得_htmlXmlDocument xmlDoc=new XmlDocument();
xml學習心得_html
xml學習心得_htmlxmlDoc.Load(Server.MapPath(
"book.xml"));-------加載信息
xml學習心得_html
xml學習心得_i++_43xml學習心得_html_44
if(xmlDoc.DocumentElement.IsEmpty)xml學習心得_xml_45{------------判斷是否為空
xml學習心得_java_46
xml學習心得_java_46       xmlDoc.LoadXml(
"<gusetbook/>");----------沒有的話新增
xml學習心得_java_46
xml學習心得_html_49}

xml學習心得_html
xml學習心得_htmlXmlNode xmlNote
=xmlDoc.DocumentElement.AppendChild(xmlDoc.CreateElement("book"));
xml學習心得_html
xml學習心得_html
-----新增第一個節點:book,下面是加其節點的兩個屬性:時間:date及代號:Staff_id
xml學習心得_html
xml學習心得_htmlXmlAttribute xmlattr
=xmlDoc.CreateAttribute("date");---創建一個屬性date
xml學習心得_html
xml學習心得_htmlxmlattr.Value
=System.DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss");--設定屬性信息
xml學習心得_html
xml學習心得_htmlxmlNote.Attributes.Append(xmlattr);
----在book節點上新增一個屬性
xml學習心得_html
xml學習心得_html
//新增另一個屬性,要找出本xml文檔中的最大號,進行比較
xml學習心得_html

xml學習心得_htmlXmlElement xmld 
= xmlDoc.DocumentElement;----聲明一元素
xml學習心得_html
xml學習心得_html
string strmax="";
xml學習心得_html
xml學習心得_html
int count_elem=0;
xml學習心得_html
xml學習心得_htmlcount_elem
=xmld.ChildNodes.Count - 2;-----找到最大節點的index
xml學習心得_html
xml學習心得_htmlXmlElement nodeee 
= (XmlElement)xmld.ChildNodes[count_elem];──找到此節點並轉類型
xml學習心得_html
xml學習心得_htmlstrmax
=nodeee.GetAttribute("Staff_id");---取到想要的信息
xml學習心得_html
xml學習心得_htmlxmlattr
=xmlDoc.CreateAttribute("Staff_id");-----增加些元素
xml學習心得_html
xml學習心得_htmlxmlattr.Value
=strmax.Substring(0,5)+(int.Parse(strmax.Substring(5,1))+1) ;
xml學習心得_html
xml學習心得_htmlxmlNote.Attributes.Append(xmlattr);
xml學習心得_html
xml學習心得_html
//增加一個型式的節點
xml學習心得_html

xml學習心得_htmlchildnote
=xmlNote.AppendChild(xmlDoc.CreateElement("adress"));
xml學習心得_html
xml學習心得_htmlchildnote.InnerText
=stradress;
xml學習心得_html
xml學習心得_html
//add skill----增加另一個樣式的節點,此節點又有子節點
xml學習心得_html

xml學習心得_htmlchildnote
=xmlNote.AppendChild(xmlDoc.CreateElement("P_Skills"));
xml學習心得_html
xml學習心得_i++_43xml學習心得_html_44
for(int i=0;i<3;i++)xml學習心得_xml_45{
xml學習心得_java_46
xml學習心得_java_46      XmlNode childsnote
=null;
xml學習心得_java_46
xml學習心得_java_46      childsnote
=childnote.AppendChild(xmlDoc.CreateElement("P_Skill" & (i+1)));
xml學習心得_java_46
xml學習心得_java_46      childsnote.InnerText
="java"+i;
xml學習心得_java_46
xml學習心得_html_49 }

xml學習心得_html
xml學習心得_html 
//增加有data樣式的節點,如<message><![CDATA[xxxxxxxx]]> </message>
xml學習心得_html

xml學習心得_htmlchildnote
=xmlNote.AppendChild(xmlDoc.CreateElement("message"));
xml學習心得_html
xml學習心得_htmlchildnote.AppendChild(xmlDoc.CreateCDataSection(strmessage));
xml學習心得_html
xml學習心得_html
//保存新增後的文件
xml學習心得_html

xml學習心得_htmlxmlDoc.Save(Server.MapPath(
"book.xml"));
xml學習心得_html
xml學習心得_html

第二種方法:

xml學習心得_htmlXmlDocument xmlDoc=new XmlDocument();
xml學習心得_html
xml學習心得_html          xmlDoc.Load(Server.MapPath(
"users.xml"));
xml學習心得_html
xml學習心得_html                
xml學習心得_html
xml學習心得_html           XmlNode xmlRoot
=xmlDoc.DocumentElement;
xml學習心得_html
xml學習心得_html 
xml學習心得_html
xml學習心得_html           XmlElement xmlUser
=xmlDoc.CreateElement("User");
xml學習心得_html
xml學習心得_html           XmlElement xmlName
=xmlDoc.CreateElement("Name");
xml學習心得_html
xml學習心得_html           XmlElement xmlEmail
=xmlDoc.CreateElement("Email");
xml學習心得_html
xml學習心得_html           XmlElement xmlPassword
=xmlDoc.CreateElement("Password");
xml學習心得_html
xml學習心得_html                
xml學習心得_html
xml學習心得_html          xmlName.InnerText
="addName";
xml學習心得_html
xml學習心得_html           xmlEmail.InnerText
="addEmail";
xml學習心得_html
xml學習心得_html           xmlPassword.InnerText
="addPassword";
xml學習心得_html
xml學習心得_html                
xml學習心得_html
xml學習心得_html           xmlUser.AppendChild(xmlName);
xml學習心得_html
xml學習心得_html           xmlUser.AppendChild(xmlEmail);
xml學習心得_html
xml學習心得_html           xmlUser.AppendChild(xmlPassword);
xml學習心得_html
xml學習心得_html                
xml學習心得_html
xml學習心得_html           XmlAttribute xmlattr
=xmlDoc.CreateAttribute("newAttr");
xml學習心得_html
xml學習心得_html           xmlattr.Value
="AttributeValue";
xml學習心得_html
xml學習心得_html           xmlDoc.DocumentElement.SetAttributeNode(xmlattr);
xml學習心得_html
xml學習心得_html 
xml學習心得_html
xml學習心得_html       xmlRoot.AppendChild(xmlUser);
xml學習心得_html
xml學習心得_html


4、 
修改一畢資料,server端,操作如下:

xml學習心得_htmlXmlDocument xmlDoc= new XmlDocument();
xml學習心得_html
xml學習心得_html xmlDoc.Load(Server.MapPath(
"book.xml")); 
xml學習心得_html
xml學習心得_html 
string xpth_str="";
xml學習心得_html
xml學習心得_html xpth_str
="/guestbook/book[@Staff_id='" + this.txtCNO_ID.Text + "']";
xml學習心得_html
xml學習心得_htmlSystem.Xml.XmlElement xmlet
=xmlDoc.DocumentElement;
xml學習心得_html
xml學習心得_html System.Xml.XmlNode xmnode
=xmlet.SelectSingleNode(xpth_str);-------取得有條件相關節點
xml學習心得_html
xml學習心得_html        xmnode.ChildNodes[
4].ChildNodes[0].InnerText=xmnode.ChildNodes[4].ChildNodes[0].InnerText.ToString()+"66";
xml學習心得_html
xml學習心得_html        xmnode.ChildNodes[
4].ChildNodes[1].InnerText=xmnode.ChildNodes[4].ChildNodes[1].InnerText.ToString()+"66";
xml學習心得_html
xml學習心得_html        xmnode.ChildNodes[
4].ChildNodes[2].InnerText=xmnode.ChildNodes[4].ChildNodes[2].InnerText.ToString()+"66";
xml學習心得_html
xml學習心得_i++_43xml學習心得_html_44
/**////以上為讀取有子節點的節點相關資料並進修改
xml學習心得_html
xml學習心得_html 
string strmess=xmnode.ChildNodes[5].InnerText.ToString();
xml學習心得_html
xml學習心得_html System.Xml.XmlNode mess
=xmnode.SelectSingleNode("message");
xml學習心得_html
xml學習心得_html mess.RemoveAll();
xml學習心得_html
xml學習心得_htmlmess.AppendChild(xmlDoc.CreateCDataSection(strmess
+"_upd"));
xml學習心得_html
xml學習心得_html
//修改data資料
xml學習心得_html

xml學習心得_htmlxmlDoc.Save(Server.MapPath(
"book.xml"));
xml學習心得_html


5、 
刪除指定節點,操作如下:(在server端)

xml學習心得_htmlXmlDocument xmlDoc= new XmlDocument();
xml學習心得_html
xml學習心得_html    xmlDoc.Load(Server.MapPath(
"book.xml")); 
xml學習心得_html
xml學習心得_html    
string xpth_str="";
xml學習心得_html
xml學習心得_html    xpth_str
="/guestbook/book[@Staff_id='" + this.txtCNO_ID.Text + "']";
xml學習心得_html
xml學習心得_html    System.Xml.XmlElement xmlet
=xmlDoc.DocumentElement;
xml學習心得_html
xml學習心得_html    xmlet.RemoveChild(xmlet.SelectSingleNode(xpth_str));
xml學習心得_html           
xml學習心得_html
xml學習心得_htmlxmlDoc.Save(Server.MapPath(
"book.xml"));
xml學習心得_html
xml學習心得_html



第二部分

───xsl的語法運用

1、 xml的語法結構:

xml學習心得_html<?xml version="1.0" encoding="utf-8"?>
xml學習心得_html
xml學習心得_html,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
xml學習心得_html
xml學習心得_html如下是一個本測試中的example: 
xml學習心得_html
xml學習心得_html
<guestbook>
xml學習心得_html
xml學習心得_html 
<book date="2006-01-05 18:10:00" Staff_id="c03031">
xml學習心得_html
xml學習心得_html    
<name>Susan</name>
xml學習心得_html
xml學習心得_html    
<email>snowonyou@eyou.com</email>
xml學習心得_html
xml學習心得_html    
<homepage>http://www.hao123.com</homepage>
xml學習心得_html
xml學習心得_html    
<adress>河南許昌</adress>
xml學習心得_html
xml學習心得_html    
<P_Skills>
xml學習心得_html
xml學習心得_html      
<P_Skill1>ASP</P_Skill1>
xml學習心得_html
xml學習心得_html      
<P_Skill2>ASP.NET</P_Skill2>
xml學習心得_html
xml學習心得_html      
<P_Skill3>SQL</P_Skill3>
xml學習心得_html
xml學習心得_html    
</P_Skills>
xml學習心得_html
xml學習心得_html    
<message><![CDATA[這是我第2個用xml做的例子,學習學習,加油!!不認輸!_upd]]></message>
xml學習心得_html
xml學習心得_html 
</book> 
xml學習心得_html
xml學習心得_html
</guestbook>
xml學習心得_html


2、 xsl的語法結權

 

xml學習心得_html<?xml version="1.0" encoding="utf-8" ?>
xml學習心得_html
xml學習心得_html
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
xml學習心得_html
xml學習心得_html
<xsl:template match="guestbook">
xml學習心得_html
xml學習心得_html,,,,,,,對相關資料進行操作
xml學習心得_html
xml學習心得_html
</xsl:template>
xml學習心得_html
xml學習心得_html
</xsl:stylesheet>
xml學習心得_html
xml學習心得_html下面是一個例子:
xml學習心得_html
xml學習心得_html
<xsl:template match="guestbook">
xml學習心得_html
xml學習心得_html
<html>
xml學習心得_html
xml學習心得_html
<body bgcolor="#CCCC66" onselectstart="return false">
xml學習心得_html
xml學習心得_html
<center><h1>留言版</h1></center>
xml學習心得_html
xml學習心得_html
<table border="1" width="100%" bgcolor="#bbCCCC">
xml學習心得_html
xml學習心得_html
<tr bgcolor="#0099CC">
xml學習心得_html
xml學習心得_html
<td>最新留言||<href="../index.html">我要留言</a></td>
xml學習心得_html
xml學習心得_html
</tr>
xml學習心得_html
xml學習心得_html
<tr>
xml學習心得_html
xml學習心得_html
<table width="100%" border="1">
xml學習心得_html
xml學習心得_html
<xsl:for-each select="book">
xml學習心得_html
xml學習心得_html
<xsl:sort select="@date"></xsl:sort>
xml學習心得_html
xml學習心得_html
<tr bgcolor="#bbCC00">
xml學習心得_html
xml學習心得_html
<td rowspan="2" width="20%">
xml學習心得_html
xml學習心得_html     學號:
<xsl:value-of select="substring(@Staff_id, 1, 3)"></xsl:value-of>
xml學習心得_html
xml學習心得_html     留言人:
<xsl:value-of select="name"></xsl:value-of><p/>
xml學習心得_html
xml學習心得_html     來自:
<xsl:value-of select="adress"></xsl:value-of><p/>
xml學習心得_html
xml學習心得_html     技能:
<xsl:value-of select="P_Skills/P_Skill1" />
xml學習心得_html
xml學習心得_html           
<xsl:value-of select="P_Skills/P_Skill2" />
xml學習心得_html
xml學習心得_html           
<xsl:value-of select="P_Skills/P_Skill3" />
xml學習心得_html
xml學習心得_html
</td>
xml學習心得_html
xml學習心得_html
<td width="80%">
xml學習心得_html
xml學習心得_html留言時間:
<xsl:value-of select="@date"></xsl:value-of>||
xml學習心得_html
xml學習心得_html     Email:
<xsl:value-of select="email"></xsl:value-of>||
xml學習心得_html
xml學習心得_html     個人主頁:
<xsl:value-of select="homepage"></xsl:value-of>
xml學習心得_html
xml學習心得_html
</td>
xml學習心得_html
xml學習心得_html
</tr>
xml學習心得_html
xml學習心得_html
<tr >
xml學習心得_html
xml學習心得_html
<xsl:attribute name="ONCLICK">alert("呵呵,原來是這樣呀");</xsl:attribute>
xml學習心得_html
xml學習心得_html
<xsl:attribute name="oncontextmenu">
xml學習心得_html
xml學習心得_html    window.event.cancelBubble _u32 ?true;check_log();loadContextMenu('context.xml',
xml學習心得_html
xml學習心得_html'
<xsl:value-of select="@Staff_id"></xsl:value-of>',
xml學習心得_html
xml學習心得_html'
<xsl:value-of select="name"></xsl:value-of>');return false;
xml學習心得_html
xml學習心得_html 
</xsl:attribute>
xml學習心得_html
xml學習心得_html
<td width="72%">
xml學習心得_html
xml學習心得_html
<xsl:choose>
xml學習心得_html
xml學習心得_html
<xsl:when test="position()=last()">
xml學習心得_html
xml學習心得_html
<a><xsl:attribute name="title">
xml學習心得_html
xml學習心得_html   這是最後一畢
xml學習心得_html
xml學習心得_html
</xsl:attribute>
xml學習心得_html
xml學習心得_html     
<pre><xsl:value-of select="message"></xsl:value-of></pre>
xml學習心得_html
xml學習心得_html     
</a>
xml學習心得_html
xml學習心得_html
</xsl:when>
xml學習心得_html
xml學習心得_html
<xsl:otherwise>
xml學習心得_html
xml學習心得_html
<pre><xsl:value-of select="message"></xsl:value-of></pre>
xml學習心得_html
xml學習心得_html
</xsl:otherwise>
xml學習心得_html
xml學習心得_html
</xsl:choose>
xml學習心得_html
xml學習心得_html
</td>         
xml學習心得_html
xml學習心得_html
</tr>
xml學習心得_html
xml學習心得_html
</xsl:for-each>
xml學習心得_html
xml學習心得_html
</table>
xml學習心得_html
xml學習心得_html
</tr>
xml學習心得_html
xml學習心得_html
</table>
xml學習心得_html
xml學習心得_html
</body>
xml學習心得_html
xml學習心得_html
</html>
xml學習心得_html
xml學習心得_html
</xsl:template>
xml學習心得_html
xml學習心得_html
</xsl:stylesheet>
xml學習心得_html