Demo.aspx
上传用户:jingke1993
上传日期:2022-06-08
资源大小:140k
文件大小:2k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. <%@PAGE LANGUAGE=C# debug="true" validateRequest=false %>
  2. <%@Import Namespace="System"%>
  3. <%@Import Namespace="System.Xml"%>
  4. <%@Import Namespace="System.Xml.Schema"%>
  5. <%@Import Namespace="System.IO"%>
  6. <%@Import Namespace="Sgml"%>
  7. <html>
  8. <style>
  9. h2 { border-left: 10 solid navy; border-top: 1 solid navy; padding-left:15; }
  10. </style>
  11. <script runat="server">
  12. string SgmlReaderTest(Uri baseUri, string html, TextWriter log, bool upper, bool formatted)
  13. {
  14.   try {
  15.     SgmlReader r = new SgmlReader();
  16.     r.SetBaseUri(Server.MapPath("."));
  17.     r.DocType = "HTML";
  18.     r.InputStream = new StringReader(html);
  19.     if (upper) r.CaseFolding = CaseFolding.ToUpper;
  20.     StringWriter sw = new StringWriter();
  21.     XmlTextWriter w = new XmlTextWriter(sw);
  22.     if (formatted) {
  23.         w.Formatting = Formatting.Indented;
  24.         r.WhitespaceHandling = WhitespaceHandling.None;
  25.     }
  26.     while (!r.EOF) {
  27.         w.WriteNode(r, true);
  28.     }
  29.     w.Close();   
  30.     return sw.ToString();              
  31.   } catch (Exception e) {
  32.     return e.ToString();
  33.   }
  34. }
  35. void SubmitBtn_Click(Object Src, EventArgs E) 
  36. {
  37.     StringWriter log = new StringWriter();
  38.     bool upper = (Request.Form["UPPER"] == "on");
  39.     bool formatted = (Request.Form["PRETTY"] == "on");
  40.     string result = SgmlReaderTest(
  41.   new Uri("file://"+Server.MapPath(".")),
  42.   DATA.InnerText, log, upper, formatted);
  43. XML.InnerText = result;
  44. }
  45. </script>
  46. <h2>SgmlReader Demo</h2>
  47. <form runat="server" method="POST" action="demo.aspx">
  48. <h4 style="margin:0;background-color:navy;color:white">HTML</h4>
  49. <textarea runat="server" rows=10 cols=70 id=DATA>
  50. <html><body>
  51. <!-- This typical SGML document contains unclosed tags, 
  52. unquoted attributes, attributes with no values, 
  53. duplicate attributes, and mismatched end tags  -->
  54. <table width=200>
  55. <tr><td align=left>
  56. <tr><td><input type=checkbox checked>
  57. <tr><td align=left align=right>
  58. </table>
  59. </html>
  60. </textarea>
  61. <h4 style="margin:0;background-color:navy;color:white">XML</h4>
  62. <textarea runat="server" rows=20 cols=70 id=XML></textarea>
  63. <br/>
  64. <asp:button text="SUBMIT"  Onclick="SubmitBtn_Click" runat=server/>
  65. <asp:checkbox text="Upper case" id="UPPER" runat=server/>
  66. <asp:checkbox text="Pretty print" id="PRETTY" runat=server/>
  67. <br/><br/>
  68. See <a href="/srcview/srcview.aspx?path=/tools/sgmlreader/sgmlreader.src&file=Demo.aspx">Source Code</a>
  69. for this page.
  70.  </form>
  71. </html>