我想知道是否可以将这些元素与不同的名称空间合并;
<imsss:objectives>
<imsss:primaryObjective objectiveID="ettiquette_completed"/>
<imsss:objective objectiveID="previous_sco_completed">
<imsss:mapInfo targetObjectiveID="com.scorm.golfsamples.sequencing.forcedsequential.playing_completed" readNormalizedMeasure="true" readSatisfiedStatus="true" />
</imsss:objective>
</imsss:objectives>
<adlseq:objectives>
<adlseq:objective objectiveID="ettiquette_completed">
<adlseq:mapInfo targetObjectiveID="com.scorm.golfsamples.sequencing.forcedsequential.ettiquette_completed" readCompletionStatus="true" writeCompletionStatus="true"/>
</adlseq:objective>
<adlseq:objective objectiveID="previous_sco_completed">
<adlseq:mapInfo targetObjectiveID="com.scorm.golfsamples.sequencing.forcedsequential.playing_completed" readCompletionStatus="true" writeCompletionStatus="false"/>
</adlseq:objective>
</adlseq:objectives>
所以基本上我想结束
<imsss:objectives>
<imsss:primaryObjective objectiveID="ettiquette_completed">
<imsss:mapInfo targetObjectiveID="com.scorm.golfsamples.sequencing.forcedsequential.ettiquette_completed" readCompletionStatus="true" writeCompletionStatus="true"/>
</imsss:primaryObjective>
<imsss:objective objectiveID="previous_sco_completed">
<imsss:mapInfo targetObjectiveID="com.scorm.golfsamples.sequencing.forcedsequential.playing_completed" readNormalizedMeasure="true" readSatisfiedStatus="true" readCompletionStatus="true" writeCompletionStatus="false/>
</imsss:objective>
</imsss:objectives>
目前我有一个linq查询,它将所有元素与相同的objectiveid属性放在一起;
XElement seqColl = getSequencingCollection(identifier);
var ImssObj = seqColl.Element(imsss + "objectives").Elements();
var AdlObj = seqColl.Element(adlSeq + "objectives").Elements();
var newEl = from o in ImssObj
join a in AdlObj on o.Attribute("objectiveID").Value equals a.Attribute("objectiveID").Value
select new XElement(o.Name, new XAttribute(o.Attribute("objectiveID")), o.Elements(), a.Elements());
(getSequencingCollection方法正常工作以从xml获取所有测序信息,因为它需要进行本地测序和共享测序)
谢谢大家。
答案 0 :(得分:0)
我已经为此做了一个非常具体的解决方案,如果有人想看到它然后让我知道。我想不出它会帮助任何人。但如果你知道一种不同的方式,而不是我用过的长c#功能,请随时告诉我。感谢