2

当我调用 XDocument.Save 它正在编码我的 html<br/>标记时,有没有办法防止这种情况发生?

XDocument xDoc = new XDocument(new XElement("desc","jon skeet <br/> knows, the <br/> answer"));
xDoc.Save(Server.MapPath("~/tempUploads/encodeTest.xml"));

输出是:

<?xml version="1.0" encoding="utf-8"?>
<desc>jon skeet &lt;br/&gt; knows, the &lt;br/&gt; answer</desc>

我想要的输出:

<?xml version="1.0" encoding="utf-8"?>
<desc>jon skeet <br/> knows, the <br/> answer</desc>
4

1 回答 1

5

这是预期的行为:您将 的内部文本设置XElement为该字符串。它需要被编码,否则它会创建多个标签。

由于您实际上想要拥有多个标签,因此您需要创建它们。最简单的方法是使用XElement.Parse

var content = XElement.Parse("<desc>jon skeet <br/> knows, the <br/> answer</desc>");
var xDoc = new XDocument(content);
于 2012-10-11T11:24:24.627 回答