使用XmlDocument.Load 在Page 中顯示xml,寫法如下,

不過在過程中 myXml.Load(ms);  時發生錯誤,剖析 EntityName 時發生錯誤。 第 1 行,位置 576。

原以為錯誤是因為 XmlDocument.Load 的XML 內容有大小限制,

從Google中查詢後發現,並非是XML內容有大小限制,而是XmlDocument.Load 的XML 內容中writer.WriteRaw(strContent);

WriteRow的內容不可存在 &  >  <  \   ..特殊符號

方法一,用 Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("\"", "&quot;")  置換掉,

方法二,將特殊符號的XML content  放到<!Entity>  中去使用 

XML方可正常解析

  

//宣告   XmlDocument     

        XmlDocument myXml = new XmlDocument();
        MemoryStream ms = new MemoryStream();
        XmlTextWriter writer = new XmlTextWriter(ms, System.Text.Encoding.UTF8);

//start to write XML Document

           writer.WriteStartDocument();
            writer.WriteStartElement("response");
            writer.WriteStartElement("info");

            writer.WriteStartElement("Testresult");
            writer.WriteRaw("0");
            writer.WriteEndElement();

//Write content

            writer.WriteStartElement(column.ColumnName);
            writer.WriteAttributeString("TYPE", "STRING");
            writer.WriteRaw(strContent);
            writer.WriteEndElement();

 

           writer.WriteEndElement();  //info
            writer.WriteEndElement();  //response

            writer.WriteEndDocument();
            writer.Flush();

//use MemoryStream 
            ms.Flush();
            ms.Position = 0;

//load xml
            myXml.Load(ms);

//show XML

Response.ContentType = "text/xml";
myXml.Save(Response.Output);

arrow
arrow
    全站熱搜

    irealchen 發表在 痞客邦 留言(0) 人氣()