1
考慮下面的XML「模板」:在XDocument中定位和設置元素值的最有效方法是什麼?
<Request module="CRM" call="list_service_features" id="{ID}">
<block name="auth">
<a name="username" format="text">{USERNAME}</a>
<a name="password" format="password">{PASSWORD}</a>
<a name="client-id" format="counting">{CLIENT-ID}</a>
</block>
<a name="service-id" format="counting">{SERVICE-ID}</a>
</Request>
使用的XDocument,什麼是在大括號設定值的最佳方式。到目前爲止,我仍然陷入了選擇<block/>
元素內的三個<a />
節點中的每一個的最佳方式。這只是XML的一小部分,其他可能有多達20個元素。
構建XML的方式不是我的創建,它是我們必須發送到供應商的'網絡服務'之前......在任何人對「format =」counting「屬性嘲笑之前:)
@David - 爲響應歡呼,讚賞。我有點希望它會是更優雅一點,還挺線沿線的:
List<XElement> e = doc.Descendants("a").ToList();
e.Where(x => x.Attributes("name") == "username").Single().Value = "abc";
e.Where(x => x.Attributes("name") == "password").Single().Value = "abc";
顯然上面的代碼不工作,但我以爲會有每個<a>
標籤優雅的一個襯墊
沒錯,這就是我要找的。我到了類似但更笨拙的地方:e.Attributes(「name」)。Where(a => a.Value ==「username」)。Single()。Parent.Value =「abcdef」;非常感激! – Kev 2008-11-18 20:22:56