我正在使用XDocument创建一个与代码相同的RSS:
var rss = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement("rss", new XElement("channel",
new XElement("title", blog.Title),
new XElement("link", link),
new XElement("description", blog.Description),
new XElement("generator", "RSS Generated by x"),
new XElement("language", "fa"),
from item in items
select new XElement("item",
new XElement("title", item.Title),
new XElement("link", item.Link),
new XElement("pubDate", item.PubDate),
new XElement("author", item.Author),
new XElement("guid", item.Guid),
new XElement("description", item.Description),
new XElement("comments", item.Comments)
)
),
new XAttribute("version", "2.0")));
某些内容在执行此代码期间发生异常。
'.', hexadecimal value 0x00, is an invalid character.
'', hexadecimal value 0x1D, is an invalid character.
'', hexadecimal value 0x0B, is an invalid character.
答案 0 :(得分:1)
您应该清理xml数据 这里是http://en.wikipedia.org/wiki/Valid_characters_in_XML内可以使用的字符 有效字符将是
public string sanitizeText(string sanitize){
StringBuilder result = new StringBuilder();
foreach( char x in sanitize){
if ((x == 0x9 || x == 0xA || x == 0xD) ||
((x >= 0x20) && (x <= 0xD7FF)) ||
((x >= 0xE000) && (x <= 0xFFFD)) ||
((x >= 0x10000) && (x <= 0x10FFFF))) result.Append(x);
}
return result.ToString();
}