次の構造を持つ XmlDocument オブジェクトがあります。
<ROOT>
<MESSAGE>
<some_fields />
<myDate>
<myParameter>
</MESSAGE>
<MESSAGE>
...
</ROOT>
myDate>= 指定された日付および myParameter=指定されたパラメーターであるすべての MESSAGE ノードを取得したいと考えています。つまり、次のようなものです。
MyDoc.SelectNodes("/ROOT/MESSAGE..")
XPathを使用してそれを行うことは可能ですか?
=================
わかった。myDate には既に xs:dateTime 型があります。しかし今、私は次の例外があります:
//MESSAGE[myDate < xs:dateTime(2012-06-22T11:17:44)]' の修飾名が無効です。
コードは次のとおりです。
XmlNodeList nodeList = MyXmlDocument.SelectNodes("//MESSAGE[myDate < xs:dateTime(" + givenDateTime + ")]");
そして、それはでも動作しません
"//MESSAGE[xs:dateTime('2012-06-22T11:47:32')=xs:dateTime('2012-06-22T11:47:32')]"
次に、System.Xml.XPath.XPathException があります。
Namespace Manager または XsltContext が必要です。このクエリには、プレフィックス、変数、またはユーザー定義関数があります。