"> "> " />

OpenXML устанавливает и получает пользовательские атрибуты

Я успешно добавляю настраиваемый атрибут к узлу строки, используя следующий метод:

targetRow.SetAttribute(new DocumentFormat.OpenXml.OpenXmlAttribute("Delete", null, "1"));

... но я не могу просмотреть пользовательский атрибут, используя следующий запрос LINQ:

Row target = sheetData.Elements().Where(r => r.ExtendedAttributes.ElementAt(0).Value=="1").First();

Я также попытался использовать метод GetAttribute в приведенном выше запросе, но безрезультатно.

Как я должен это делать? Благодарю.

0
nl ja de
Можете ли вы предоставить xml? А что такое Custom Attributes ?
добавлено автор Ilya Ivanov, источник

1 ответы

Попробуйте использовать этот код для получения элементов или атрибутов:

// 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 = "";    
var xml = XElement.Parse(s);
var atribute = xml.Elements().Attributes().First(atr => atr.Name == "Delete");

atribute.Value = "2";

//LinqPad specific call
xml.Dump();

Печать: