📄 xmlrpcresponse.cs
字号:
}
/// <summary>
/// Writes the MediaInfo Struct of Response
/// </summary>
/// <param name="data">xml response</param>
private void WriteMediaInfo(XmlTextWriter data)
{
data.WriteStartElement("param");
data.WriteStartElement("value");
data.WriteStartElement("struct");
// url
data.WriteStartElement("member");
data.WriteElementString("name", "url");
data.WriteStartElement("value");
data.WriteElementString("string", _mediaInfo.url);
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
}
/// <summary>
/// Writes the PostID string of Response.
/// </summary>
/// <param name="data">xml response</param>
private void WriteNewPost(XmlTextWriter data)
{
data.WriteStartElement("param");
data.WriteStartElement("value");
data.WriteElementString("string", _postID);
data.WriteEndElement();
data.WriteEndElement();
}
/// <summary>
/// Writes the Metaweblog Post Struct of Response.
/// </summary>
/// <param name="data">xml response</param>
private void WritePost(XmlTextWriter data)
{
data.WriteStartElement("param");
data.WriteStartElement("value");
data.WriteStartElement("struct");
// postid
data.WriteStartElement("member");
data.WriteElementString("name", "postid");
data.WriteStartElement("value");
data.WriteElementString("string", _post.postID);
data.WriteEndElement();
data.WriteEndElement();
// title
data.WriteStartElement("member");
data.WriteElementString("name", "title");
data.WriteStartElement("value");
data.WriteElementString("string", _post.title);
data.WriteEndElement();
data.WriteEndElement();
// description
data.WriteStartElement("member");
data.WriteElementString("name", "description");
data.WriteStartElement("value");
data.WriteElementString("string", _post.description);
data.WriteEndElement();
data.WriteEndElement();
// link
data.WriteStartElement("member");
data.WriteElementString("name", "link");
data.WriteStartElement("value");
data.WriteElementString("string", _post.link);
data.WriteEndElement();
data.WriteEndElement();
// tags (mt_keywords)
data.WriteStartElement("member");
data.WriteElementString("name", "mt_keywords");
data.WriteStartElement("value");
string[] tags = new string[_post.tags.Count];
for (int i = 0; i < _post.tags.Count; i++)
{
tags[i] = _post.tags[i];
}
string tagList = string.Join(",", tags);
data.WriteElementString("string", tagList);
data.WriteEndElement();
data.WriteEndElement();
// categories
if (_post.categories.Count > 0)
{
data.WriteStartElement("member");
data.WriteElementString("name", "categories");
data.WriteStartElement("value");
data.WriteStartElement("array");
data.WriteStartElement("data");
foreach (string cat in _post.categories)
{
data.WriteStartElement("value");
data.WriteElementString("string", cat);
data.WriteEndElement();
}
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
}
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
}
/// <summary>
/// Writes the array of Metaweblog Post Structs of Response.
/// </summary>
/// <param name="data">xml response</param>
private void WritePosts(XmlTextWriter data)
{
data.WriteStartElement("param");
data.WriteStartElement("value");
data.WriteStartElement("array");
data.WriteStartElement("data");
foreach (MWAPost post in _posts)
{
data.WriteStartElement("value");
data.WriteStartElement("struct");
// postid
data.WriteStartElement("member");
data.WriteElementString("name", "postid");
data.WriteStartElement("value");
data.WriteElementString("string", post.postID);
data.WriteEndElement();
data.WriteEndElement();
// dateCreated
data.WriteStartElement("member");
data.WriteElementString("name", "dateCreated");
data.WriteStartElement("value");
data.WriteElementString("dateTime.iso8601", ConvertDatetoISO8601(post.postDate));
data.WriteEndElement();
data.WriteEndElement();
// title
data.WriteStartElement("member");
data.WriteElementString("name", "title");
data.WriteStartElement("value");
data.WriteElementString("string", post.title);
data.WriteEndElement();
data.WriteEndElement();
// description
data.WriteStartElement("member");
data.WriteElementString("name", "description");
data.WriteElementString("value", post.description);
data.WriteEndElement();
// link
data.WriteStartElement("member");
data.WriteElementString("name", "link");
data.WriteStartElement("value");
data.WriteElementString("string", post.link);
data.WriteEndElement();
data.WriteEndElement();
// tags (mt_keywords)
data.WriteStartElement("member");
data.WriteElementString("name", "mt_keywords");
data.WriteStartElement("value");
string[] tags = new string[post.tags.Count];
for (int i = 0; i < post.tags.Count; i++)
{
tags[i] = post.tags[i];
}
string tagList = string.Join(",", tags);
data.WriteElementString("string", tagList);
data.WriteEndElement();
data.WriteEndElement();
// publish
data.WriteStartElement("member");
data.WriteElementString("name", "publish");
data.WriteStartElement("value");
if (post.publish)
data.WriteElementString("boolean", "1");
else
data.WriteElementString("boolean", "0");
data.WriteEndElement();
data.WriteEndElement();
// categories
if (post.categories.Count > 0)
{
data.WriteStartElement("member");
data.WriteElementString("name", "categories");
data.WriteStartElement("value");
data.WriteStartElement("array");
data.WriteStartElement("data");
foreach (string cat in post.categories)
{
data.WriteStartElement("value");
data.WriteElementString("string", cat);
data.WriteEndElement();
}
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
}
data.WriteEndElement();
data.WriteEndElement();
}
// Close tags
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
}
/// <summary>
/// Writes array of BlogInfo structs of Response
/// </summary>
/// <param name="data"></param>
private void WriteGetUsersBlogs(XmlTextWriter data)
{
data.WriteStartElement("param");
data.WriteStartElement("value");
data.WriteStartElement("array");
data.WriteStartElement("data");
foreach (MWABlogInfo blog in _blogs)
{
data.WriteStartElement("value");
data.WriteStartElement("struct");
// url
data.WriteStartElement("member");
data.WriteElementString("name", "url");
data.WriteElementString("value", blog.url);
data.WriteEndElement();
// blogid
data.WriteStartElement("member");
data.WriteElementString("name", "blogid");
data.WriteElementString("value", blog.blogID);
data.WriteEndElement();
// blogName
data.WriteStartElement("member");
data.WriteElementString("name", "blogName");
data.WriteElementString("value", blog.blogName);
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
}
// Close tags
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
data.WriteEndElement();
}
/// <summary>
/// Convert Date to format expected by MetaWeblog Response.
/// </summary>
/// <param name="date">DateTime to convert</param>
/// <returns>ISO8601 date string</returns>
private string ConvertDatetoISO8601(DateTime date)
{
string temp = date.Year.ToString() + date.Month.ToString().PadLeft(2, '0') + date.Day.ToString().PadLeft(2, '0') +
"T" + date.Hour.ToString().PadLeft(2, '0') + ":" + date.Minute.ToString().PadLeft(2, '0') + ":" + date.Second.ToString().PadLeft(2, '0');
return temp;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -