【发布时间】:2018-01-10 06:19:10
【问题描述】:
我正在开发一个 ASP.NET WebForms 应用程序。客户端通过 excel 宏创建 XML 字符串。他/她想将此 XML 复制粘贴到应用程序中的多行文本框中。单击按钮后,需要解析 XML 并将其插入到 word 模板中。我以前没有使用过 XML,我不确定这是否可以做到。忘记这样做的冗余。这是业务要求。我建议将 XML 放入文件并使用文件上传控件,我可以加载 XML 并将其插入到 word 中。
最初我尝试过:
aspx
<asp:TextBox ID="XMLTxt" runat="server" TextMode="MultiLine"></asp:TextBox>
<asp:Xml ID="XMLComp" runat="server" ></asp:Xml><br />
<asp:Button ID="XMLBtn" runat="server" Text="Parse XML" OnClick="XMLBtn_Click"/>
在后面的代码中,我没有在 XMLBtn_Click 方法中添加任何内容。 我在想,当我在文本框中复制 xml 并单击按钮时, 因为我在方法中没有任何东西,所以它不应该做任何事情。
但是我收到了这个错误:
A potentially dangerous Request.Form value was detected from the client
(LoginView1$XMLTxt="<?xml version="1.0" ...").
所以我倾向于认为这样是行不通的,我需要采取不同的方式。
我想要的是,当我单击按钮时,所有 XML 都会进入一个字符串,我可以将其附加到我的 word 文档中,并希望这些数据能够在 word 文档中正常显示。但我很确定这是一段很长的时间,而且我遗漏了一些信息。
【问题讨论】:
-
您正在处理具有特殊字符的 html(请参阅:en.wikipedia.org/wiki/…)。所以看起来你需要使用:Net.System.Net.WebUtility.HtmlEncode(string) 对字符串数据进行编码,然后使用:System.Net.WebUtility.HtmlDecode(string) 进行解码
-
我不明白什么时候应该编码和解码。客户端将 xml 数据粘贴到文本框中并按下按钮。该按钮将导出已填充数据的 Word 文档。是否应该在将字符串粘贴到文本框之前对其进行编码?粘贴 xml 后我按下按钮的第二个,我得到了错误。
-
是的。数据应放入 html 消息的正文中。我认为只有在放入 word 文档时才需要编码。文本框可以处理
-
我真的不知道如何进行编码。因此,当我单击 XMLBtn 时,我会获取 XMLTxt 并将其加载到 XMLComp 中。你能告诉我如何编码吗?谢谢!
-
字符串 XMLTxtEncoded = Net.System.Net.WebUtility.HtmlEncode(XMLTxt);