請忽略此問題。問題出在數據進入方法,而不是我在問題中寫的任何代碼/ xml。我會刪除這個問題,但它已經有了答案。我的xpath評估器和我的代碼似乎得到不同的結果
我有一些XML,我測試了一個XPath查詢,並得到了預期的結果,但我的代碼似乎無法達到相同的結果。
這裏是XML
<custom-table security="seeown" allownotify="false">
<reports show="all">
<report aspurl="../Reports/" label="Buy Sheet" security="moderator"/>
</reports>
<select-field name="StatusQ3MAP" eval="false">
<option value="Accept" label="Accept"/>
<option value="Decline" label="Decline"/>
</select-field>
<select-field name="MerchantStatus" eval="false">
<option value="Review 1" label="Review 1"/>
<option value="Review 2" label="Review 2"/>
</select-field>
</custom-table>
我的XPath看起來像custom-table/select-field[@name="StatusQ3MAP"]
這讓我適當的選擇-field元素在XML的片段。
然而,我的方法,沒有出現工作是:
public static List<string> GetListItems(string fieldName, XPathNavigator nav)
{
var list = new List<string>();
var nodes = nav.Select(string.Format("/custom-table/select-field[@name = '{0}']", fieldName));
foreach (XPathNavigator item in nodes)
list.Add(item.Value);
return list;
}
假設字段名是「StatusQ3MAP」似乎有什麼也沒有的節點,因此沒有得到返回結果列表。
我在做什麼錯?
嘗試將'string.Format(「/ custom-table/select-field [@name ='{0}']」,fieldName)'改爲'custom-table/select-field [@name ='「 + fieldName +「'」「' – JWiley
@JWiley,我剛剛嘗試了這個,並得到了同樣的結果 –
@JWiley,以消除這方面的任何歧義我試圖硬編碼的xpath查詢就像我的問題和我的問題仍然失敗 –