如何在事先不知道目标命名空间的情况下加载模式?
How to load a schema without knowing the target namespace ahead of time?
我指的是下面的代码,用于从 XSD 和
从功能的角度来看,它似乎工作正常。
var schemas = new XmlSchemaSet();
schemas.Add("http://microsoft.com/HealthCare/HL7/2X", xsdFilePath);
Boolean result = true;
xdocXml.Validate(schemas, (sender, e) =>
{
result = false;
});
现在,如您所见,我必须明确指定架构名称,即使此信息本身包含在 XSD 中也是如此。有什么方法可以从 XSD 中提取该信息,这样我就不必特别指定了吗?
只需为命名空间指定null
:
var schemas = new XmlSchemaSet();
schemas.Add(null, xsdFilePath);
来自XmlSchemaSet.Add Method (String, String):
targetNamespace
Type: System.String
The schema targetNamespace
property, or null to use the targetNamespace
specified in the schema.
我指的是下面的代码,用于从 XSD 和 从功能的角度来看,它似乎工作正常。
var schemas = new XmlSchemaSet();
schemas.Add("http://microsoft.com/HealthCare/HL7/2X", xsdFilePath);
Boolean result = true;
xdocXml.Validate(schemas, (sender, e) =>
{
result = false;
});
现在,如您所见,我必须明确指定架构名称,即使此信息本身包含在 XSD 中也是如此。有什么方法可以从 XSD 中提取该信息,这样我就不必特别指定了吗?
只需为命名空间指定null
:
var schemas = new XmlSchemaSet();
schemas.Add(null, xsdFilePath);
来自XmlSchemaSet.Add Method (String, String):
targetNamespace
Type: System.String
The schematargetNamespace
property, or null to use thetargetNamespace
specified in the schema.