GetUserProfileByName
(SharePoint / SPServices)から取得したresponseXMLオブジェクトから特定のノードを取得することに完全に行き詰まっています。特定のPropertyData
ノード(例では「FirstName」)が必要で、「FirstName」の値を取得します。値の取得は問題ではありません。特定のノードの取得は...
返されたXMLの一部の下(例のために、いくつかのプロパティを削除しました):
...
<PropertyData>
<Name>UserProfile_GUID</Name>
<Values>
<ValueData>
<Value xmlns:q1="...">206b47c7-cfdc-...</Value>
</ValueData>
</Values>
</PropertyData>
<PropertyData>
<Name>FirstName</Name>
<Values>
<ValueData>
<Value xsi:type="xsd:string">Maarten</Value>
</ValueData>
</Values>
</PropertyData>
...
プロパティが必要であることがわかっているので、正しいノード(遅い)が得られるまでFirstName
、ノードのセット全体を反復処理したくありません。PropertyData
XPathでは、次FirstName
のように言うだけで選択できます。
//PropertyData[Name='FirstName']/Values/ValueData/Value
ただし、xData.responseXML
オブジェクトではそれを行うことはできません。私は次のフィルター、検索、その他(あらゆる種類のバリエーション)を試しました:
$(xData.responseXML).SPFilterNode("PropertyData").find("[Name*=FirstName]")
$(xData.responseXML).SPFilterNode("PropertyData").find("[Name*='FirstName']")
$(xData.responseXML).SPFilterNode("PropertyData").filter("[Name*=FirstName]")
$(xData.responseXML).SPFilterNode("PropertyData[Name='FirstName']")
何度も検索しましたが、答えが見つかりませんでした。私全員が試したが、うまくいかなかった部分的な答えがたくさんありました。誰でも手がかり...
前もって感謝します!マールテン