所需的XML输出:
<role>1</role> <!-- Role: Master -->
如果我这样做:
string roleId = "1";
xRoot.Add(XElement("role", roleId));
string roleComment = string.Format("Role: {0}", roleMap[roleId]);
XComment xRoleComment = new XComment(roleComment);
xRoot.Add(xRoleComment);
我得到了这个(下一行的通知评论):
<role>1</role>
<!-- Role: Master -->
答案 0 :(得分:2)
我认为答案在xml文件的SaveOptions
中。请在此处查看更多信息:When saving XML file with XElement, alignment in file changes as well, how to avoid?
但这看起来会禁用所有格式。相反,您可以考虑将评论放在第一位,这将与评论通常出现的方式更加一致 - 在他们评论的行之前而不是之后。
答案 1 :(得分:0)
格式化符合Xml标准。除非完全禁用格式化,否则不能将两个不同的标记并排放置,不管是注释标记。空元素例外:
<MyElement></MyElement>
有效,但
</MyElement><MyOtherElement></MyOtherElement>
不被视为正确的格式。