private NdlItem ItemToNdc(JToken item) { var ndlItem = new NdlItem { Tags = new List<string>() }; var subjects = item["dc:subject"]; if (subjects != null) foreach (var subject in subjects) if (subject.Type == JTokenType.String) AddTag(ndlItem, MyUtil.ABC123ToHankaku((string)subject)); else if ((string)subject["$"]["xsi:type"] == "dcndl:NDC") ndlItem.NDC = MyUtil.ABC123ToHankaku((string)subject["_"]); else if ((string)subject["$"]["xsi:type"] == "dcndl:NDC8") ndlItem.NDC = MyUtil.ABC123ToHankaku((string)subject["_"]); else if ((string)subject["$"]["xsi:type"] == "dcndl:NDC9") ndlItem.NDC9 = MyUtil.ABC123ToHankaku((string)subject["_"]); //else if ((string)subject["$"]["xsi:type"] == "dcndl:NDLC") // ndlItem.Description = MyUtil.ABC123ToHankaku((string)subject["_"]); var descriptions = item["dcterms:description"]; if (descriptions != null) foreach (var description in descriptions) ndlItem.Description = MyUtil.ABC123ToHankaku((string)description); var categories = item["category"]; if (categories != null) foreach (var cagegory in categories) AddTag(ndlItem, MyUtil.ABC123ToHankaku((string)cagegory)); return ndlItem; }
private void AddTag(NdlItem ndlItem, string tag) { var ngwords = new[] { "本" }; if (!ngwords.Contains(tag)) ((List<string>)ndlItem.Tags).Add(tag); }