在C#中读取XML注释需用XmlDocument或XDocument,启用注释支持(默认开启),通过SelectNodes("//comment()")或OfType()获取,再用Value属性提取文本,注意父节点关系以定位上下文。

在C#中读取XML节点的注释内容,关键在于使用支持注释节点(XmlComment)的解析器,比如 XmlDocument 或 XDocument。默认情况下,很多XML读取方式会跳过注释,必须显式启用或正确遍历才能获取。
使用 XmlDocument 读取注释节点
XmlDocument 默认会将注释作为 XmlComment 类型的节点保留在DOM中,但需注意:注释必须位于元素内部或同级位置,且加载时不能设置 XmlReaderSettings.IgnoreComments = true(默认为 false,所以通常没问题)。
- 用
SelectNodes("//comment()")可选取文档中所有注释节点 - 用
ChildNodes遍历时,检查NodeType == XmlNodeType.Comment -
Value属性即为注释文本(不含<!--和-->)
示例:
<!-- 全局配置说明 -->
<!-- 这是第一个条目 -->
data
代码读取:
var doc = new XmlDocument();
doc.LoadXml(xmlString);
<p>// 获取所有注释节点
var comments = doc.SelectNodes("//comment()");
foreach (XmlNode c in comments)
{
Console.WriteLine(c.Value); // 输出:"全局配置说明"、"这是第一个条目"
}</p><p>// 或遍历子节点找注释
foreach (XmlNode node in doc.DocumentElement.ChildNodes)
{
if (node.NodeType == XmlNodeType.Comment)
{
Console.WriteLine($"注释: {node.Value}");
}
}登录后复制
使用 XDocument(LINQ to XML)读取注释
XDocument 同样保留注释,但节点类型是 XComment,需用 DescendantNodes() 或 Nodes() 并筛选。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~