我试图通过使用XElement来获取XPathNavigator的值类型,但是ValueType总是以String类型返回。我期望导航器返回XSD文档中指定的ValueType。
加载xml和xsd:
XmlReaderSettings aSettings = new XmlReaderSettings();
aSettings.Schemas.Add(myXmlSchemaSet);
aSettings.ValidationType = ValidationType.Schema;
XmlReader aReader = XmlReader.Create(PathToXml, aSettings);
XDocument aDocument = XDocument.Load(aReader);
aDocument.Validate(aSchemaSet, null, true);获取值类型:
XPathNavigator aNavigator = aDocument.CreateNavigator();
Type aElementType = aNavigator.SelectSingleNode(myXPath).ValueType;发布于 2015-02-24 10:50:46
XML不支持此特性,因为XNodeNavigator不实现IXmlSchemaInfo,也不覆盖XPathNavigator.SchemaInfo。
您可以使用支持此功能的System.Xml。
https://stackoverflow.com/questions/28693339
复制相似问题