如果元素中存在属性,则将 XAttribute 添加到 XElement
Add the XAttribute to XElement if attribute exists in the element
需要添加
XAttribute newatt = new XAttribute("TAG", value);
到 XElement elem
,但 elem
可能已经包含名称为 "TAG"
的属性,因此 elem.Add(newatt);
会出错。我目前使用的解决方法是先检查:
if (elem.Attribute("TAG") != null) // check if attribute exists
elem.SetAttributeValue("TAG", newatt.Value.ToString()); // Attribute exists
else
elem.Add(newatt); // Attribute does not exist
是否有更短的方法来完成此任务,也许已经可用 XElement
函数检查现有 "TAG"
也许(我知道可以将上面的代码片段包装成功能)?
使用SetAttributeValue
前无需检查属性是否已经存在。只是:
// Unconditional
elem.SetAttributeValue("TAG", value);
(即使自己创建 XAttribute
也没有意义。)
The value is assigned to the attribute with the specified name. If no attribute with the specified name exists, a new attribute is added. If the value is null, the attribute with the specified name, if any, is deleted.
需要添加
XAttribute newatt = new XAttribute("TAG", value);
到 XElement elem
,但 elem
可能已经包含名称为 "TAG"
的属性,因此 elem.Add(newatt);
会出错。我目前使用的解决方法是先检查:
if (elem.Attribute("TAG") != null) // check if attribute exists
elem.SetAttributeValue("TAG", newatt.Value.ToString()); // Attribute exists
else
elem.Add(newatt); // Attribute does not exist
是否有更短的方法来完成此任务,也许已经可用 XElement
函数检查现有 "TAG"
也许(我知道可以将上面的代码片段包装成功能)?
使用SetAttributeValue
前无需检查属性是否已经存在。只是:
// Unconditional
elem.SetAttributeValue("TAG", value);
(即使自己创建 XAttribute
也没有意义。)
The value is assigned to the attribute with the specified name. If no attribute with the specified name exists, a new attribute is added. If the value is null, the attribute with the specified name, if any, is deleted.