国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 開發 > XML > 正文

在DotNet里面利用XML

2024-09-05 20:55:51
字體:
來源:轉載
供稿:網友

呵呵,有意思,聽過一個笑話,說德國一個老頭,是個聾子,在如廁時,突然蘇聯戰機空襲,雖然房屋倒塌,可是全家人都沒有事情,家里人扒開衛生間的墻壁,發現老頭在那兒樂,說:我一拉抽水馬桶的繩,屋就倒了。
哈哈哈,我也是這樣,剛才我一發這貼子,chinaasp就完了,還以為是我的事情呢,原來是蘇聯飛機來炸了,呵呵。
如果你喜歡玩xml,那么請跟我來,但在此之前,請深呼一口氣,因為我給大家介紹一個長代碼,在這個代碼中揭示了微軟在asp.net架構中隱藏的一個web表單控件,即<asp:xml runat=server/>,我只給代碼,不給解釋,大家自己下課后去研究吧。
另外,由于是beta1,在這個控件中你使用的xslt里面不能使用<xsl:sort>,當然,亦不能使用那個order-by了,因為它支持的xsl空間是帶"1999"的那個,而不是原來的那個。
另外,我從微軟得到的回答就是在beta2里面,它將支持<xsl:sort>,到那時,哥哥我將全部轉向xml+xsl了,現在為源代碼保密問題給弄的非常頭疼。
請看下例:
webform2.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.text;
using system.io;
using system.xml;

public class webform2 : page
{
public stringbuilder outputq;
public stringbuilder outputxml;
public documentnavigator nav = null;
public htmlinputfile xmlfile;

public system.web.ui.webcontrols.xml myxml;

public system.web.ui.webcontrols.textbox textbox1;
public system.web.ui.webcontrols.textbox textbox2;
public system.web.ui.webcontrols.textbox textbox3;
public system.web.ui.webcontrols.button query;
public system.web.ui.webcontrols.label filelabel;

public void on_keyup(object sender, system.eventargs e)
{
response.write("works");
}

protected void page_load(object sender, eventargs e)
{
if (!ispostback)
{
//
// evals true first time browser hits the page
//
}
}

public void query_click(object sender, system.eventargs e)
{
httppostedfile xmlfile = xmlfile.postedfile;
xmldocument doc = new xmldocument();
myxml.document = new xmldocument();
// textbox2.text="";
// textbox3.text="";

if (xmlfile.filename != string.empty)
{
try
{
filelabel.text= xmlfile.filename;

myxml.document.load(xmlfile.filename);
outputxml = new stringbuilder();
xmltextreader reader = new xmltextreader (xmlfile.filename);
showdocument();
textbox3.text = outputxml.tostring();

outputq = new stringbuilder();
doc.load(xmlfile.filename);
documentnavigator nav = new documentnavigator(doc);
// perform the query e.g. "descendant::book/price"
xpathquery(nav, textbox1.text);
textbox2.text = outputq.tostring();

}
catch (exception exp) {
//outputq.append("</xmp><font color=/"#ff6600/">"+ exp.message+"</font><xmp>");
}
finally {}
}
else if (filelabel.text != string.empty)
{
try
{
myxml.document.load(filelabel.text);
outputxml = new stringbuilder();
xmltextreader reader = new xmltextreader (filelabel.text);
showdocument();
textbox3.text = outputxml.tostring();

showdocument();

outputq = new stringbuilder();
doc.load(filelabel.text);
documentnavigator nav = new documentnavigator(doc);
// perform the query e.g. "descendant::book/price"
xpathquery(nav, textbox1.text);
textbox2.text = outputq.tostring();

}
catch (exception exp) {
outputq.append("</xmp><font color=/"#ff6600/">"+ exp.message+"</font><xmp>");
}
finally {}
}
}

private void xpathquery(xmlnavigator navigator, string xpathexpr )
{
try
{
// save context node position
navigator.pushposition();
navigator.select (xpathexpr);
formatxml(navigator);

// restore context node position
navigator.popposition();
}
catch (exception e)
{
}
}

//***************************** navigator ************************************
private void formatxml (xmlnavigator navigator)
{
while (navigator.movetonextselected())
{
switch (navigator.nodetype)
{
case xmlnodetype.processinginstruction:
format (navigator, "processinginstruction");
break;
case xmlnodetype.documenttype:
format (navigator, "documenttype");
break;
case xmlnodetype.document:
format (navigator, "document");
break;
case xmlnodetype.comment:
format (navigator, "comment");
break;
case xmlnodetype.element:
format (navigator, "element");
break;
case xmlnodetype.text:
format (navigator, "text");
break;
case xmlnodetype.whitespace:
format (navigator, "whitespace");
break;
}
}
outputq.append("/r/n");
}

// format the output
private void format (xmlnavigator navigator, string nodetype)
{
string value = string.empty;
string name = string.empty;

if (navigator.haschildren)
{
name = navigator.name;
navigator.movetofirstchild();
if (navigator.hasvalue)
{
value = navigator.value;
}
}
else
{
if (navigator.hasvalue)
{
value = navigator.value;
name = navigator.name;
}
}
outputq.append(nodetype + "<" + name + ">" + value);
outputq.append("/r/n");
}

// ********************************** xmlreader *****************************
public void showdocument ()
{
outputxml = new stringbuilder();
xmltextreader reader = new xmltextreader (filelabel.text);

while (reader.read())
{
switch (reader.nodetype)
{
case xmlnodetype.processinginstruction:
format (reader, "processinginstruction");
break;
case xmlnodetype.documenttype:
format (reader, "documenttype");
break;
case xmlnodetype.comment:
format (reader, "comment");
break;
case xmlnodetype.element:
format (reader, "element");
break;
case xmlnodetype.text:
format (reader, "text");
break;
case xmlnodetype.whitespace:
break;
}
}
textbox3.text = outputxml.tostring();
}

protected void format(xmlreader reader, string nodetype)
{
// format the output
for (int i=0; i < reader.depth; i++)
{
outputxml.append('/t');
}

outputxml.append(reader.prefix + nodetype + "<" + reader.name + ">" + reader.value);

// display the attributes values for the current node
if (reader.hasattributes)
{
outputxml.append(" attributes:");

for (int j=0; j < reader.attributecount; j++)
{
outputxml.append(reader[j]);
}
}
outputxml.append("/r/n");
}

/// ************************* dom *********************************
protected void showdocument(xmlnode node)
{
if (node != null)
format (node);

if (node.haschildnodes)
{
node = node.firstchild;
while (node != null)
{
showdocument(node);
node = node.nextsibling;
}
}
}

// format the output
private void format (xmlnode node)
{
if (!node.haschildnodes)
{
outputxml.append("/t" + "<" + node.value + ">");
}

else
{
outputxml.append("<" + node.name + ">");
if (xmlnodetype.element == node.nodetype)
{
xmlnamednodemap map = node.attributes;
foreach (xmlnode attrnode in map)
outputxml.append(" " + attrnode.name + "<" + attrnode.value + "> ");
}
outputxml.append("/r/n");
}
}
}


下面就是webform2.aspx了
webform2.aspx
-----------------------------------
<%@ import namespace="system" %>
<%@ import namespace="system.io" %>
<%@ assembly name="system.xml" %>
<%@ import namespace="system.xml" %>
<%@ page language="c#" inherits="webform2" src="webform2.cs" debug="true" %>

<html><head>

<script runat="server" language="c#">
// put page script here
public void on_keyup(object sender, system.eventargs e)
{
response.write("works");
}

</script>

<!--<link rel="stylesheet" href="default.css" type="text/css">-->
<title>test</title>
</head>

<body >


<form method="post" action="webform2.aspx" runat="server" enctype="multipart/form-data">

<div align="left">
<table>
<tr>
<td>xml document:</td>
<td><input type=file id="xmlfile" runat=server>         filename:</td>
<td><asp:label id="filelabel" runat="server"></asp:label></td>
</tr>

<tr>
<td>xpath expression</td>
<td><asp:textbox id=textbox1 runat="server" height="20" width="300" text=".//text()" onkey_up="on_keyup"></asp:textbox></td>
<td><asp:button type=submit onclick="query_click" runat="server" height="20" width="91" text="query"></asp:button></td>
</tr>
</table>

</br>
<table>
<tr><td>output from query</td><td>xml data</td><tr>
<tr><td>query display: <asp:dropdownlist runat="server">
<asp:listitem>descriptive</asp:listitem>
<asp:listitem>xml</asp:listitem>
</asp:dropdownlist>
</td><tr>
<tr>
<td width="50%" valign="top" align="left"><asp:textbox id=textbox2 runat="server" height="400" width="350" textmode="multiline" rows="10"></asp:textbox></td>
<td width="50%" valign="top" align="left"><asp:xml id="myxml" transformsource="test.xsl" runat=server/></asp:xml></td>
</tr>
</table>
</div>

<td><asp:textbox id=textbox3 runat="server" height="1" width="5" textmode="multiline" rows="110"></asp:textbox></td>

</form>

</body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产黄色免费在线观看| 国产女王在线**视频 | 综合激情丁香| 国产在线看片| 中文资源在线官网| 永久免费不卡在线观看黄网站| 国产www网站| 亚洲电影视频在线| 天天操天天射天天色| 国产主播色在线| 91福利在线免费| 97影院理论午夜| 欧美性猛交xxxx免费看久久| 免费在线黄色网址| 国产福利小视频在线| jizz在线视频| 国产精品美女一区二区三区四区| 亚洲欧美久久婷婷爱综合一区天堂 | 丁香花在线电影小说观看| av福利在线播放| 亚洲wwwwww| 中文字幕在线免费观看| 国产卡1卡2卡三卡在线| 国产高清一级片| 免费在线超碰| 在线免费观看你懂的| 国产剧情av在线| 男人天堂99| 亚洲电影视频在线| 精品麻豆国产| 国产网站免费观看| 狠狠操狠狠色| 国产精品18久久久久久久久久| 青青草中文字幕| 18被视频免费观看视频| 中文字幕第一页在线| 日本h视频在线观看| 永久免费av网站| 九九热免费视频| 白浆爆出在线观看| free性亚洲| 日本亚洲欧美| 免费黄网站在线观看| 日韩在线天堂| 男人天堂网在线观看| 日本韩国精品一区二区| 亚洲sss视频| 国产福利电影在线观看| 国产精品免费视频二三区| 免费三级毛片| 久久久久久91精品色婷婷| а天堂8中文最新版在线官网| 在线中文av| 97影院理论午夜| 精品乱码一区二区三四区视频| 国产麻豆麻豆| 中文字幕在线视频观看| 国产女主播在线观看| 国产黄色在线观看| 在线免费国产视频| 欧美精品se| 日韩av成人| 超碰在线国产| 国产欧美在线观看视频| 国产精品视频二区三区| 国产在线一区二区视频| 九九在线观看免费视频| 国产精品午夜久久久久久| 天天操天天曰| 国产激情小视频在线| 99爱视频在线观看| 国产中文字幕在线| 黄色av电影在线播放| 1区2区3区在线| 精品欧美色视频网站在线观看| 18av在线播放| 青青在线视频| 国产美女视频一区二区三区| 成人午夜无人区一区二区| 丁香花视频在线观看| 国产黄在线看| av在线免费播放网站| 九九免费视频| 国产91在线视频蝌蚪| 亚洲私人影吧| 天天av综合网| 色综合久久五月天| 国产丝袜自拍| 亚洲国产日韩在线人成电影| 九九热精品在线视频| 国产寡妇树林野战在线播放| 在线国产1区| 麻豆精品免费视频入口| 国产精品视频一区二区三区麻豆 | 国产极品美女到高潮| 99爱视频在线观看| 成人欧美亚洲| 亚洲视频精品在线观看| 尤物视频网站在线观看| av日韩国产| 国产系列在线观看| 免费在线超碰| 亚洲一道本在线| 久久久久久久久亚洲精品| ·天天天天操| 国产在线一二| 麻豆av电影在线观看| 一级二级三级在线观看| 国产高清av在线| 国产污污在线观看| 国产精选一区二区三区不卡催乳| 精品女厕厕露p撒尿| 国产精品美女一区二区三区四区| 国产美女在线一区二区三区| www.三级.com| 黄色在线视频观看网站| 麻豆精品免费视频入口| eeuss影院在线观看| 国产精品视频二区三区| 国产性网软件大全| 国产写真视频在线观看| 中文字幕日本三级| 中文字幕在线播放网址| 国产一级二级三级在线观看| 午夜视频在线免费| 国产偷窥洗澡视频| 国产黄色大片在线观看| 精品视频麻豆入口| 毛片视频免费观看| 成年网在线观看免费观看网址| 久草.com| 国产亚av手机在线观看| 国产高潮av| 国产免费一级片| 狠狠操天天操夜夜操| 久草一本av| 国产精品被窝福利一区 | 免费中文字幕| 国产乱xxⅹxx国语对白| 国产视频一二| 一区二区三区四区在线免费视频| 伊人狠狠av| 欧美日韩亚洲第一页| 香蕉视频网站在线观看| 九九热在线视频| 国产精品理人伦一区二区三区 | 亚洲国产精华液| 浪潮av一区| 国产传媒在线播放| 欧美日韩在线中文字幕| 国产人成在线视频| 麻豆国产视频| 国产91足控脚交在线观看| 欧美性xxxx交| 精品成人一区二区三区免费视频| 一本大道香蕉久久| 国产一级免费| 日p在线观看| 国产极品一区二区三区| 国产在线色视频| 伊人影院在线观看| 国产高清免费视频| 久热中文字幕精品视频在线| 91视频久色| 中文字幕av中文字幕| 欧美a免费在线| 在线a人片免费观看视频| 国产成免费视频| 国产一二三区在线观看| 国产免费一级片| av小说在线| 在线观看av中文| 国产激情视频在线观看| 国产一区二区三区不卡免费观看 | 国产色视频网站| 国产在线三区| 麻豆精品传媒视频观看| 日本在线天堂| аⅴ成人天堂中文在线| av资源网站在线观看| 国产精品秘入口| 国产视频资源| 国产激情自拍| 伊人色综合网| jizz一区二区三区| 国产免费黄视频在线观看| 久草一本av| 高清色视频在线观看| 天天爱天天色| 国产一区二区在线|播放| 国产一级二级在线| 2019天天操夜夜操| 伊人福利在线| 四虎精品成人a在线观看| 亚洲综合在线不卡| a级片国产精品自在拍在线播放| 九九热在线视频观看| 最新亚洲精品国自产在线观看| 国产精品视频流白浆免费视频| 2021天堂中文幕一二区在线观|