在C#和.Net中,可以使用System.Xml.XmlReader
类来读取XML文档。XmlReader
类提供了一个LineNumber
属性,用于获取当前行号。
以下是一个简单的示例代码,演示如何使用XmlReader
类读取XML文档,并在每个元素开始时输出当前行号:
using System;
using System.IO;
using System.Xml;
class Program
{
static void Main(string[] args)
{
string xml = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<root>
<element1>value1</element1>
<element2>value2</element2>
<element3>value3</element3>
</root>";
using (StringReader sr = new StringReader(xml))
using (XmlReader xr = XmlReader.Create(sr))
{
while (xr.Read())
{
if (xr.NodeType == XmlNodeType.Element)
{
Console.WriteLine($"当前行号:{xr.LineNumber},元素名称:{xr.Name}");
}
}
}
}
}
输出结果:
当前行号:2,元素名称:root
当前行号:3,元素名称:element1
当前行号:4,元素名称:element2
当前行号:5,元素名称:element3
需要注意的是,LineNumber
属性只能在XmlReader
对象读取XML文档时使用,如果在创建XmlReader
对象之前修改了XML文档,则LineNumber
属性可能会返回错误的结果。
领取专属 10元无门槛券
手把手带您无忧上云