提供した XML のスニペットで必要なものを検索するには、次の XPath 式が必要です。
/APIS/API/field[@Username='username1' and @UserPassword='password1']
これは、ユーザー名とパスワードが一致する場合は何かを返しますが、一致しない場合はそうではありません。
もちろん、XPath 式は単なる文字列です。たとえば、フォーム フィールドに入力された値を使用して動的に作成できます。
あなたがどの言語/環境にいるかを伝えると、ここに投稿されたコード サンプルがより具体的になる可能性があります。
これは C# で行う方法です (VB.NET は類似しています)。
// make sure the following line is included in your class
using System.Xml;
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("your XML string or file");
string xpath = "/APIS/API/field[@Username='{0}' and @UserPassword='{1}']";
string username = "username1";
string password = "password1";
xpath = String.Format(xpath, username, password);
XmlNode userNode = xmldoc.SelectSingleNode(xpath);
if (userNode != null)
{
// found something with given user name and password
}
else
{
// username or password incorrect
}
ユーザー名にもパスワードにも単一引用符を含めることはできないことに注意してください。そうしないと、上記の例が失敗します。この特異性に関する情報を次に示します。
Microsoft から入手可能なハウツーもあります。HOW TO: Visual C# .NET で System.Xml.XmlDocument クラスを使用して XPath クエリを実行する