第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查節(jié)點屬性中的缺失值?

如何檢查節(jié)點屬性中的缺失值?

C#
守著星空守著你 2021-05-10 16:38:40
如何檢查特定節(jié)點屬性值ex中的缺失/跳過值<?xml version="1.0"?><root>    <lvl id="abc1">1036</lvl>    <lvl id="abc2">0036</lvl>    <lvl id="abc3">3.<dc>04</dc></lvl>    <lvl id="abc5">87.<dc>03</dc></lvl>    <lvl id="abc6">996</lvl>    <lvl id="abc10">203</lvl></root>在上面的xml中,缺少id屬性值abc4,abc7,abc8和abc9。.如何檢查這些并使用linq to xml獲取這些值,以便我可以寫日志文件或說這些值丟失了,檢查文件?我在考慮使用像這樣的輔助方法public  static Boolean CompareNext(this XElement xe)        {            return Convert.ToInt16(xe.Attribute("id").Value.Replace("abc", ""))+1== Convert.ToInt16(xe.ElementsAfterSelf().FirstOrDefault().Attribute("rid").Value.Replace("ref", ""));        }但正在努力正確地實施它。
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

一種可能的解決方案是通過替換來提取所有ID的數量"abc":


//Load the document

XDocument doc = XDocument.Load(@"PATH_TO_FILE.xml");


//Extract all ID's

var ids = new List<int>();

foreach (var lvl in doc.Root.Elements())

{

    if (int.TryParse(lvl.Attribute("id").Value.Replace("abc", ""), out int id))

    {

        ids.Add(id);

    }

}

基于最小值和最大值,可以創(chuàng)建所有預期ID的范圍。現在,您可以獲取所有缺少的ID:


//Get the missing ID's

int minId = ids.Min();

int maxId = ids.Max();

var missingIds = Enumerable.Range(minId, maxId - minId).Except(ids);


查看完整回答
反對 回復 2021-05-21
  • 1 回答
  • 0 關注
  • 168 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號