我試圖從我的對象XElement
中選擇一些childelements,並將它們放入新的XElement
中。從XElement中選擇子元素到新的XElement中
var objNodes =
doc.Descendants("object")
.Where(node => node.Attribute("table").Value == idbsObject.Key)
.Select(item => new XElement(item.Element("object"), new XElement(item.Element("nodes"))));
本篇
var objNodes =
doc.Descendants("object")
.Where(node => node.Attribute("table").Value == idbsObject.Key)
我能夠得到這樣看
<object occur="-1" prefix="" table="Articles" description="" singlename="" name="" statemode="disabled" link="" exportable="0">
<views>
<view id="1" type="" name="">
<sql>SELECT ObjectID FROM WHERE</sql>
<columns>
<column description="" sortnode="" width="" />
</columns>
<values />
</view>
</views>
<objectviews>
<view id="view1" type="view" name="Bekijken" show="1" link="" />
<view id="view2" type="edit" name="Bewerken" show="1" link="" />
<view id="view3" type="delete" name="Verwijderen" show="1" link="" />
<view id="view4" type="add" name="Toevoegen" show="1" link="" />
</objectviews>
<nodes>
<node id="ArticleId" description="" required="" datatype="i" nodetype="" fieldlength="" reference="" exclude="" tab="" order="0" default="" decimals="" maxchars="" help="" unique="" show="" />
<node id="Title" description="" required="" datatype="s" nodetype="" fieldlength="" reference="" exclude="" tab="" order="10" default="" decimals="" maxchars="" help="" unique="" show="" />
</nodes>
<tabs>
<tab id="" order="0" type="normal" child="" foreignkey="" description="Algemeen" link="" />
</tabs>
</object>
對象元素,但我怎麼能獲取對象和節點元素?我能夠獲得節點,但我無法設法將對象和節點元素合併爲一個。對於對象元素,我不想要所有的子元素。
預期結果
<object occur="-1" prefix="" table="Articles" description="" singlename="" name="" statemode="disabled" link="" exportable="0">
<nodes>
<node id="ArticleId" description="" required="" datatype="i" nodetype="" fieldlength="" reference="" exclude="" tab="" order="0" default="" decimals="" maxchars="" help="" unique="" show="" />
<node id="Title" description="" required="" datatype="s" nodetype="" fieldlength="" reference="" exclude="" tab="" order="10" default="" decimals="" maxchars="" help="" unique="" show="" />
</nodes>
</object>
當我試圖讓對象元素這樣
var objNodes = doc.Descendants("object")
.Where(node => node.Attribute("table").Value == idbsObject.Key)
.Select(item => new XElement(item.Element("object")));
objNodes是接受null
我沒有安裝VS但答案是這樣的:VAR objNodes = doc.Descendants( 「對象」) 。凡(結點=> node.Attribute( 「表」)值== (item)> new XElement(「object」,new object [] {item.Attributes(),item.Element(「nodes」)})); – jdweng
@jdweng你的代碼似乎做了這個工作,它給了我需要的結果。如果你回答我的問題,我可以將你的答案標記爲接受:) – Sybren