我正在熟悉Linq和XML。 作为其一部分,我不仅使用XML,而且还使用XML Schema。 (xsd)。
我的xsd开头为:<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" id="report">
单步执行xsd进行得很顺利。我能够获得各种元素和属性。因此,我能够将schema
标识为XElement
,并将scheme
(xmlns:xs="http://www.w3.org/2001/XMLSchema" id="report"
)之后的所有内容标识为XAttribute
。(实际上是2个属性的集合)。
我的问题是:为什么第一个XAttribute
的属性名称被标识为xs
而不是xmlns:xs
?
答案 0 :(得分:1)
为简化LINQ to XML编程接口,名称空间在XML树中表示为属性。您可以使用IsNamespaceDeclaration属性来确定特定的LINQ to XML属性(XAttribute)是否真的是名称空间声明。