.net 什么是XML;名称空间;它是如何定义的?

.net 什么是XML;名称空间;它是如何定义的?,.net,xml,.net,Xml,我需要更新我们的应用程序以支持上传XML文档,而不仅仅是CSV。因此,我试图首先验证用户上载的文件是否包含所有必需的节点 我在上阅读了本指南,但不清楚这段代码中的第三个命令: string xsdMarkup = @"<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <xsd:element name='Root'> <xsd:complexT

我需要更新我们的应用程序以支持上传XML文档,而不仅仅是CSV。因此,我试图首先验证用户上载的文件是否包含所有必需的节点

我在上阅读了本指南,但不清楚这段代码中的第三个命令:

string xsdMarkup =
    @"<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
        <xsd:element name='Root'>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name='Child1' minOccurs='1' maxOccurs='1'/>
                    <xsd:element name='Child2' minOccurs='1' maxOccurs='1'/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:schema>";

XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("", XmlReader.Create(new StringReader(xsdMarkup)));
字符串xsdMarkup=
@"
";
XmlSchemaSet schemase=新的XmlSchemaSet();
schemas.Add(“,XmlReader.Create(newstringreader(xsdMarkup));
XmlSchemaSet
对象的for将第一个字符串定义为:

targetNamespace

类型:System.String

架构targetNamespace属性,或null以使用架构中指定的targetNamespace

然后在备注中,有关于该参数的注释:

XmlSchemaSet的Add方法能够使用架构中定义的目标命名空间,而不需要在调用Add方法时将目标命名空间指定为参数在Add方法中指定null或String.Empty将指示XmlSchemaSet使用架构中定义的目标命名空间。有关此行为的示例,请参见方法

但我不明白我用粗体字写的部分到底是什么意思

引用XML的名称空间是什么意思?我从代码的角度知道它意味着什么,但不知道XML。另外,在我上面从MSDN发布的代码片段中,这个名称空间是在哪里定义的?由于它将一个空字符串传递给
Add
方法,这意味着它引用的是架构中定义的目标命名空间,该命名空间必须是其
xsdMarkup
字符串中的第一个
xmlns
节点。但我还是不明白

我并不真正“理解”我在看什么,或者我应该如何配置我的模式以确保他们上传到我的应用程序的XML具有所有需要的节点。我看到了,但这对我没有帮助