所需的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 -->
我认为答案就在 xml 文件的SaveOptions
中。在这里查看更多信息: 使用 XElement 保存 XML 文件时,文件中的对齐方式也会更改,如何避免?
但这看起来会禁用所有格式。相反,您可以考虑将评论放在第一位,这将更符合评论通常的显示方式 - 在他们评论的行之前而不是之后。
格式符合 Xml 标准。除了完全禁用格式设置外,您不能将两个不同的标签并排放置,无论是注释标签。空元素例外:
<MyElement></MyElement>
有效,但
</MyElement><MyOtherElement></MyOtherElement>
不被视为格式正确。