我使用以下方法成功地将自定义属性附加到行节点:
targetRow.SetAttribute(new DocumentFormat.OpenXml.OpenXmlAttribute("Delete", null, "1"));
…但是我无法使用以下LINQ查询查看自定义属性:
Row target = sheetData.Elements<Row>().Where(r => r.ExtendedAttributes.ElementAt(0).Value=="1").First();
我还尝试在上述查询中使用'GetAttribute'方法,但无济于事。
我应该怎么做?谢谢。
尝试使用以下代码获取元素或属性:
// get all elements with Delete="1" attribute
sheetData.Elements().First(elm => elm.Attribute("Delete").Value == "1")
//get first attribute of name Delete
sheetData.Elements().Attributes().First(atr => atr.Name == "Delete")
如何设置属性:
var s = "<t><a Delete="1"/><a /></t>";
var xml = XElement.Parse(s);
var atribute = xml.Elements().Attributes().First(atr => atr.Name == "Delete");
atribute.Value = "2";
//LinqPad specific call
xml.Dump();
打印:
<t>
<a Delete="2" />
<a />
</t>