我将以下架构加载到xmlSchema中:
...
<xs:import schemaLocation="\_1.xsd" namespace="http://tempuri.org/" />
...
我想要检索字符串“_1.xsd”
如何从XmlSchema API获取schemaLocation值? schemaSet能更好地工作吗?
由于
答案 0 :(得分:1)
我终于使用了这个:
schema.Includes[0] as XmlSchemaImport;
var wsdlId = schemaImport.SchemaLocation;
答案 1 :(得分:0)
using System.Xml.Schema;
using System.IO;
using System.Reflection;
这应该可以工作,可能会抛出一些错误,因为我没有在IDE中编译它,因为我不在Dev机器上。
string xsd = "example.xsd";
FileStream fs;
XmlSchema schema;
fs = new FileStream(xsd, FileMode.Open);
schema = XmlSchema.Read(fs, new ValidationEventHandler(ShowCompileError));
foreach (XmlSchemaObject externalSchema in schema.Includes)
{
string schemaLoc = (XmlSchemaExternal)externalSchema.SchemaLocation.ToString();
}