给定以下 XML“模板”:
<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,在大括号中设置值的最佳方法是什么。我到目前为止,但被困在选择元素内三个<a />
节点中的每一个的最佳方法上。<block/>
这只是 XML 的一小部分,其他的可能有多达 20 个<a name="..."></a>
元素。
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>
标签都会有一个优雅的衬里