0

次の方法を使用して、カスタム属性を行ノードに正常に追加しています。

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」メソッドを使用してみましたが、役に立ちませんでした。

これをどのように行うべきですか?ありがとう。

4

1 に答える 1

0

このコードを使用して、要素または属性を取得してみてください。

// 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>
于 2013-01-09T16:43:41.277 に答える