【发布时间】:2011-10-24 20:23:22
【问题描述】:
目前,我能够在我提供的令牌中获取 xpath 的值,如下所示
using (StreamReader streamReader = new StreamReader(memoryStream))
{
while ((CurrentLine = streamReader.ReadLine()) != null)
{
int startPos = CurrentLine.IndexOf("{:");
int endPos = CurrentLine.LastIndexOf(":}");
if (startPos > 0 && endPos > 0)
{
string xPathstr = CurrentLine.Substring(startPos + 2, (endPos - startPos - 2));
XPathNodeIterator myXPathNodeIterator = myXPathNavigator.Select("/"+ xPathstr);
while (myXPathNodeIterator.MoveNext())
{
Console.WriteLine(myXPathNodeIterator.Current.Value);
TemplateMemoryBuilder.Append(CurrentLine.Replace(CurrentLine.Substring(startPos, ((endPos + 2) - startPos)), myXPathNodeIterator.Current.Value));
TemplateMemoryBuilder.Append(Environment.NewLine);
}
}
else
{
TemplateMemoryBuilder.Append(CurrentLine);
TemplateMemoryBuilder.Append(Environment.NewLine);
}
}
}
如果在一行中找到多个标签,我正在尝试找到一种方法来获取带有标签的参数,例如:
This is a test to merge item {:/MyTest/TestTwo/Text1:} and {:/MyTest/TestTwo/Text2:} on the same line.
我可以使用 IndexOfAny 方法来完成这项任务吗?我不知道该怎么做。程序运行良好,直到我发现这是给我的测试的可能结果
【问题讨论】:
标签: c# xml xpath indexing token