当我调用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 <br/> knows, the <br/> answer</desc>
输出我想:
<?xml version="1.0" encoding="utf-8"?>
<desc>jon skeet <br/> knows, the <br/> answer</desc>
答案 0 :(得分:4)
这是预期的行为:您将XElement
的内部文本设置为该字符串。它需要编码,否则会创建多个标签。
由于您实际上想要拥有多个标签,因此需要创建它们。最简单的方法是使用XElement.Parse
:
var content = XElement.Parse("<desc>jon skeet <br/> knows, the <br/> answer</desc>");
var xDoc = new XDocument(content);