【发布时间】:2021-08-03 09:52:26
【问题描述】:
这是我的情况:
public static string ReadFromLine(int lineNumber, params string[] searchedAttribute)
{
//XmlTextReader reader = new XmlTextReader(xmlFilePath);
XmlReaderSettings settings = new XmlReaderSettings();
settings.LineNumberOffset = lineNumber;
settings.DtdProcessing = DtdProcessing.Parse;
FileStream fs = new FileStream(xmlFilePath, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read);
XmlReader reader = XmlReader.Create(fs, settings);
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == searchedAttribute[0] || reader.Name == searchedAttribute[1])
{
if(reader.Name == searchedAttribute[0])
reader.MoveToAttribute(searchedAttribute[0]);
else
reader.MoveToAttribute(searchedAttribute[1]);
string currentAttributeValue = reader.ReadElementString();
return currentAttributeValue;
}
}
return "notFound";
}
在我想从变量“linenumber”中传递的行中读取 xml 文件的方法中。
不幸的是,尽管根据文档使用了我的设置,但我的 阅读器每次都从第 1 行开始。
欣赏如何解决它或其他解决方案的任何想法。
【问题讨论】: