如何使用linq在xml中检索类似的命名标记

时间:2011-09-26 19:05:47

标签: c# xml linq

我有这样的代码: 这里如果我在父标签内部给出相同的命名标签,那么“对象引用未设置为对象的实例”错误就会出现。(DataList是List类型的对象)

IEnumerable<XElement> elements = xmlDoc.Descendants();

foreach (DataSource Data in DataList)
{ 
    XElement xmlElem = (
        from xmlData in elements
        where 
            Data.Name == xmlData.Name.LocalName && 
            Data.Store == xmlData.Element(
                XName.Get("Store", "")).Value                           
        select xmlData.Element(XName.Get("Val", ""))
    ).Single();

    xmlElem.ReplaceWith(new XElement(XName.Get("Val", ""), Data.Value));
}

'XML'使用的是(样本): -

<Tag1>
 <lang> </lang>
 <Tag2>
   <lang> </lang>
</Tag2>
<Tag1>

“请提出一些解决方法。”

0 个答案:

没有答案