Zoh*_*lam -1 c# string parsing
我使用XML-Like格式的文件,如:
<Tables>
<Student>
ID
Roll_Number
Name
</Student>
</Tables>
Run Code Online (Sandbox Code Playgroud)
我已经读了一个字符串中的文件,现在进行解析,我想使用string.IndexOf(string)方法.它适用于结束标签,例如<Student>,<Tables>但它为关闭标签提供了错误的索引,例如</Tables>或</Students>
这是我的代码:
dbFileString.Substring(dbFileString.IndexOf("<Tables>") + "<Tables>".Length, dbFileString.IndexOf("</Tables>"));
Run Code Online (Sandbox Code Playgroud)
请帮忙.
这不是IndexOf你的问题,而是你的使用Substring.第二个参数需要是子字符串的长度,而不是结束索引.您需要传入"结束索引 - 起始索引"作为第二个参数.
var startingIndex = dbFileString.IndexOf("<Tables>") + "<Tables>".Length
var endingIndex = dbFileString.IndexOf("</Tables>")'
var result = dbFileString.Substring(startingIndex, endingIndex - startingIndex);
Run Code Online (Sandbox Code Playgroud)
但是,我真的建议你停止这种手工解析XML并使用类似的方法XmlDocument.