我正在使用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.
发布于 2013-06-10 17:01:09
您应该清理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();
}
https://stackoverflow.com/questions/17020150
复制相似问题