使用XmlDocument.Load 在Page 中顯示xml,寫法如下,
不過在過程中 myXml.Load(ms); 時發生錯誤,剖析 EntityName 時發生錯誤。 第 1 行,位置 576。
原以為錯誤是因為 XmlDocument.Load 的XML 內容有大小限制,
從Google中查詢後發現,並非是XML內容有大小限制,而是XmlDocument.Load 的XML 內容中writer.WriteRaw(strContent);
WriteRow的內容不可存在 & > < \ ..特殊符號
方法一,用 Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace("\"", """) 置換掉,
方法二,將特殊符號的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);
留言列表