第一部分
----基本信息
1、 如何顯示xml中的信息,運用xsl:具體如何實現如下:
protected System.Web.UI.WebControls.Xml myXml;----聲明一個xml對象
//加載xml信息
XmlDocument xmlDoc= new XmlDocument();
xmlDoc.Load(Server.MapPath("book.xml"));
this.myXml.Document=xmlDoc;

//加載樣式表
XslTransform xslTrans=new XslTransform();
xslTrans.Load(Server.MapPath("book.xsl"));
myXml.Transform=xslTrans;
2、 如果在client端加載讀取信息,操作如下:
1、 通過一定的條件來讀取:
var dom =new ActiveXObject"msxml2.DOMDocument.3.0");
var re;
re = /\s/g;
dom.async = false;
dom.validateOnParse = false;
dom.resolveExternals = false;
var xpath,show_message;
dom.load("xml/pensionlist.xml");
xpath="/Persions/persion[@Staff_id='"+ per_id +"']";
node1=dom.selectSingleNode(xpath);
if (node1 != null){
node1.childNodes(0).text----第一個節點的信息
node1.childNodes(9).childNodes(0).text-----第十個節點的第一個子節點信息
}

2、 無條件的讀取:
var oDoc = new ActiveXObject"Microsoft.XMLDOM");
oDoc.load("1.xml");
var objFile1=oDoc.selectSingleNode("//New_CODE");---直接取得的
strcno=objFile1.text;
var root=oDoc.documentElement;
var objFile=root.selectNodes("//SUB_SEQ");-----可以進行循環的
for(var inti=0;inti<objFile.length;inti++)
{
alert(objFile.item(inti).text);
}
3、 新增信息到xml文檔中,操作如下:(server端操作)
第一種方法:
XmlDocument xmlDoc=new XmlDocument();

xmlDoc.Load(Server.MapPath("book.xml"));-------加載信息

第二種方法:
XmlDocument xmlDoc=new XmlDocument();

xmlDoc.Load(Server.MapPath("users.xml"));


XmlNode xmlRoot=xmlDoc.DocumentElement;


XmlElement xmlUser=xmlDoc.CreateElement("User");

XmlElement xmlName=xmlDoc.CreateElement("Name");

XmlElement xmlEmail=xmlDoc.CreateElement("Email");

XmlElement xmlPassword=xmlDoc.CreateElement("Password");


xmlName.InnerText="addName";

xmlEmail.InnerText="addEmail";

xmlPassword.InnerText="addPassword";


xmlUser.AppendChild(xmlName);

xmlUser.AppendChild(xmlEmail);

xmlUser.AppendChild(xmlPassword);


XmlAttribute xmlattr=xmlDoc.CreateAttribute("newAttr");

xmlattr.Value="AttributeValue";

xmlDoc.DocumentElement.SetAttributeNode(xmlattr);


xmlRoot.AppendChild(xmlUser);

4、 修改一畢資料,在server端,操作如下:
XmlDocument xmlDoc= new XmlDocument();

xmlDoc.Load(Server.MapPath("book.xml"));

string xpth_str="";

xpth_str="/guestbook/book[@Staff_id='" + this.txtCNO_ID.Text + "']";

System.Xml.XmlElement xmlet=xmlDoc.DocumentElement;

System.Xml.XmlNode xmnode=xmlet.SelectSingleNode(xpth_str);-------取得有條件相關節點

xmnode.ChildNodes[4].ChildNodes[0].InnerText=xmnode.ChildNodes[4].ChildNodes[0].InnerText.ToString()+"66";

xmnode.ChildNodes[4].ChildNodes[1].InnerText=xmnode.ChildNodes[4].ChildNodes[1].InnerText.ToString()+"66";

xmnode.ChildNodes[4].ChildNodes[2].InnerText=xmnode.ChildNodes[4].ChildNodes[2].InnerText.ToString()+"66";

5、 刪除指定節點,操作如下:(在server端)
XmlDocument xmlDoc= new XmlDocument();

xmlDoc.Load(Server.MapPath("book.xml"));

string xpth_str="";

xpth_str="/guestbook/book[@Staff_id='" + this.txtCNO_ID.Text + "']";

System.Xml.XmlElement xmlet=xmlDoc.DocumentElement;

xmlet.RemoveChild(xmlet.SelectSingleNode(xpth_str));

xmlDoc.Save(Server.MapPath("book.xml"));

第二部分
───xsl的語法運用
1、 xml的語法結構:
<?xml version="1.0" encoding="utf-8"?>

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

如下是一個本測試中的example:

<guestbook>

<book date="2006-01-05 18:10:00" Staff_id="c03031">

<name>Susan</name>

<email>snowonyou@eyou.com</email>

<homepage>http://www.hao123.com</homepage>

<adress>河南許昌</adress>

<P_Skills>

<P_Skill1>ASP</P_Skill1>

<P_Skill2>ASP.NET</P_Skill2>

<P_Skill3>SQL</P_Skill3>

</P_Skills>

<message><![CDATA[這是我第2個用xml做的例子,學習學習,加油!!不認輸!_upd]]></message>

</book>

</guestbook>
2、 xsl的語法結權
<?xml version="1.0" encoding="utf-8" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="guestbook">

,,,,,,,對相關資料進行操作

</xsl:template>

</xsl:stylesheet>

下面是一個例子:

<xsl:template match="guestbook">

<html>

<body bgcolor="#CCCC66" onselectstart="return false">

<center><h1>留言版</h1></center>

<table border="1" width="100%" bgcolor="#bbCCCC">

<tr bgcolor="#0099CC">

<td>最新留言||<a href="../index.html">我要留言</a></td>

</tr>

<tr>

<table width="100%" border="1">

<xsl:for-each select="book">

<xsl:sort select="@date"></xsl:sort>

<tr bgcolor="#bbCC00">

<td rowspan="2" width="20%">

學號:<xsl:value-of select="substring(@Staff_id, 1, 3)"></xsl:value-of>

留言人:<xsl:value-of select="name"></xsl:value-of><p/>

來自:<xsl:value-of select="adress"></xsl:value-of><p/>

技能:<xsl:value-of select="P_Skills/P_Skill1" />、

<xsl:value-of select="P_Skills/P_Skill2" />、

<xsl:value-of select="P_Skills/P_Skill3" />

</td>

<td width="80%">

留言時間:<xsl:value-of select="@date"></xsl:value-of>||

Email:<xsl:value-of select="email"></xsl:value-of>||

個人主頁:<xsl:value-of select="homepage"></xsl:value-of>

</td>

</tr>

<tr >

<xsl:attribute name="ONCLICK">alert("呵呵,原來是這樣呀");</xsl:attribute>

<xsl:attribute name="oncontextmenu">

window.event.cancelBubble _u32 ?true;check_log();loadContextMenu('context.xml',

'<xsl:value-of select="@Staff_id"></xsl:value-of>',

'<xsl:value-of select="name"></xsl:value-of>');return false;

</xsl:attribute>

<td width="72%">

<xsl:choose>

<xsl:when test="position()=last()">

<a><xsl:attribute name="title">

這是最後一畢

</xsl:attribute>

<pre><xsl:value-of select="message"></xsl:value-of></pre>

</a>

</xsl:when>

<xsl:otherwise>

<pre><xsl:value-of select="message"></xsl:value-of></pre>

</xsl:otherwise>

</xsl:choose>

</td>

</tr>

</xsl:for-each>

</table>

</tr>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>