public string GetEnglishValueFromFreeText(CharacterString_PropertyType input) { string value = null; if (input != null) { PT_FreeText_PropertyType freeText = input as PT_FreeText_PropertyType; if (freeText != null && freeText.PT_FreeText != null && freeText.PT_FreeText.textGroup != null) { foreach (var localizedStringProperty in freeText.PT_FreeText.textGroup) { if (localizedStringProperty.LocalisedCharacterString != null && localizedStringProperty.LocalisedCharacterString.locale != null && localizedStringProperty.LocalisedCharacterString.locale.ToUpper().Equals("#ENG")) { value = localizedStringProperty.LocalisedCharacterString.Value; break; } } } } return value; }
public void ReadXml(System.Xml.XmlReader reader) { var data = reader.ReadOuterXml(); if (data.Contains("PT_FreeText")) { XmlDocument doc = new XmlDocument(); var nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("gmd", "http://www.isotc211.org/2005/gmd"); nsmgr.AddNamespace("gco", "http://www.isotc211.org/2005/gco"); doc.LoadXml(data); string otherConstraints = ""; string otherConstraintsEnglish = ""; var otherConstraintsNode = doc.SelectSingleNode("//gmd:otherConstraints/gco:CharacterString", nsmgr); if (otherConstraintsNode != null) otherConstraints = otherConstraintsNode.InnerText; var otherConstraintsEnglishNode = doc.SelectSingleNode("//gmd:otherConstraints/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[@locale='#ENG']", nsmgr); if (otherConstraintsEnglishNode != null) otherConstraintsEnglish = otherConstraintsEnglishNode.InnerText; MD_RestrictionOther = CreateFreeTextElement(otherConstraints, otherConstraintsEnglish); } else if (data.Contains("gmx:Anchor")) { XmlDocument doc = new XmlDocument(); var nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("gmd", "http://www.isotc211.org/2005/gmd"); nsmgr.AddNamespace("gmx", "http://www.isotc211.org/2005/gmx"); nsmgr.AddNamespace("xlink", "http://www.w3.org/1999/xlink"); doc.LoadXml(data); string otherConstraints = ""; string otherConstraintsLink = ""; var otherConstraintsNode = doc.SelectSingleNode("//gmd:otherConstraints/gmx:Anchor", nsmgr); if (otherConstraintsNode != null) otherConstraints = otherConstraintsNode.InnerText; var otherConstraintsLinkNode = doc.SelectSingleNode("//gmd:otherConstraints/gmx:Anchor/@xlink:href", nsmgr); if (otherConstraintsLinkNode != null) otherConstraintsLink = otherConstraintsLinkNode.InnerText; MD_RestrictionOther = new Anchor_Type { Value = otherConstraints, href = otherConstraintsLink }; } else if (data.Contains("gco:CharacterString")) { XmlDocument doc = new XmlDocument(); var nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("gmd", "http://www.isotc211.org/2005/gmd"); nsmgr.AddNamespace("gco", "http://www.isotc211.org/2005/gco"); doc.LoadXml(data); string otherConstraints = ""; var otherConstraintsNode = doc.SelectSingleNode("//gmd:otherConstraints/gco:CharacterString", nsmgr); if (otherConstraintsNode != null) otherConstraints = otherConstraintsNode.InnerText; MD_RestrictionOther = new CharacterString_PropertyType { CharacterString = otherConstraints }; } }
public void ReadXml(System.Xml.XmlReader reader) { var data = reader.ReadOuterXml(); XmlDocument doc = new XmlDocument(); var ns = new XmlNamespaceManager(doc.NameTable); ns.AddNamespace("gmd", "http://www.isotc211.org/2005/gmd"); ns.AddNamespace("gmx", "http://www.isotc211.org/2005/gmx"); ns.AddNamespace("xlink", "http://www.w3.org/1999/xlink"); ns.AddNamespace("gco", "http://www.isotc211.org/2005/gco"); doc.LoadXml(data); var anchor = doc.SelectSingleNode("//gmd:keyword/gmx:Anchor", ns); XmlElement node = doc.DocumentElement as XmlElement; if ((node != null) && node.HasAttribute("xsi:type") && node.Attributes["xsi:type"].Value == "gmd:PT_FreeText_PropertyType") { string keywordString = ""; string keywordEnglish = ""; var keywordNode = doc.SelectSingleNode("//gmd:keyword/gco:CharacterString", ns); if (keywordNode != null) keywordString = keywordNode.InnerText; var keywordEnglishNode = doc.SelectSingleNode("//gmd:keyword/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[@locale='#ENG']", ns); if (keywordEnglishNode != null) keywordEnglish = keywordEnglishNode.InnerText; keyword = CreateFreeTextElement(keywordString, keywordEnglish); } else if (anchor != null) { string keyWordString = anchor.InnerText; string keyWordLink = ""; var keyWordsLinkNode = anchor.SelectSingleNode("//gmd:keyword/gmx:Anchor/@xlink:href", ns); if (keyWordsLinkNode != null) keyWordLink = keyWordsLinkNode.InnerText; keyword = new Anchor_Type { Value = keyWordString, href = keyWordLink }; } else { string keyWordString = ""; var keyWordNode = doc.SelectSingleNode("//gmd:keyword/gco:CharacterString", ns); if (keyWordNode != null) keyWordString = keyWordNode.InnerText; keyword = new CharacterString_PropertyType { CharacterString = keyWordString }; } }
private static CharacterString_PropertyType CharString(string s) { var sp = new CharacterString_PropertyType(); sp.CharacterString = s; return sp; }
private void SetTitleElement(CharacterString_PropertyType element) { var identification = GetIdentificationNotNull(); if (identification.citation == null) { identification.citation = new CI_Citation_PropertyType(); } if (identification.citation.CI_Citation == null) { identification.citation.CI_Citation = new CI_Citation_Type(); } identification.citation.CI_Citation.title = element; }
private string GetStringOrNull(CharacterString_PropertyType input) { return input != null ? input.CharacterString : null; }