2
<?xml version="1.0" encoding="utf-8" ?>
<questions>
<question num="1">Employees should be involved in setting their goals.</question>
<question num="2">Most people resists change.</question>
<question num="3">Manager should guide rather control.</question>
<question num="4">Average person is easily decieved.</question>
</questions>
メソッドnext()が呼び出されたときにこの現在の属性iを使用して、現在の属性値を変数iに設定するには、次のノード値を取得する必要があります(たとえば、現在の属性値が1 ()は2番目のノードの値を取得する必要があり、next()が呼び出されたときに3番目の属性値を取得する必要があります)System.Xml?Xmlで現在の属性値を取得し、現在の属性値を使用して次のノード値を取得する方法は?
Xpathを使用して最初のノード値を取得しようとしましたが、現在の属性値を変数に設定し、次のノード値に移動する変数を使用する方法がわかりません。以下は私が試したコードです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.XPath;
namespace ConsoleApplication14
{
interface IQuestion
{
void Question1();
void Next();
}
class Question : IQuestion
{
string BuildXpathQuery(int c)
{
string part1 = @"questions/question[@num='";
string part2 = @"']";
string MyQuery = part1 + c + part2;
return MyQuery;
}
public void Question1()
{
XmlDocument doc = new XmlDocument();
doc.Load("C:\\Users\\Murari\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication14\\ConsoleApplication14\\XMLFile1.xml");
XmlNode xnList = doc.SelectSingleNode(BuildXpathQuery(1));
if (xnList != null)
{
Console.WriteLine(xnList.InnerXml);
Console.ReadKey();
}
}
public void Next()
{
}
}
class Program
{
static void Main(string[] args)
{
IQuestion ques = new Question();
ques.Question1();
ques.Next();
}
}
}