2011-12-15 2 views
2

속성 : XmlReader를 내가 다음 코드를 사용하여 XmlReader를 일부 XML을 읽고 있어요

XmlReaderSettings settings = new XmlReaderSettings(); 
settings.ValidationType = ValidationType.Schema; 
settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings; 
settings.Schemas.Add(xmlSchemaSet); 

using (var reader = XmlReader.Create(new StringReader(formatXml), settings)) 
{ 
    while (reader.Read()) 
    { 
     ... 
    } 
} 

그리고 각 요소에 대해

는, 내가 읽은를이 같은 모든 속성 :

while (reader.MoveToNextAttribute()) 
{ 
    ... 
} 

그러나이 코드는 다음과 같이 XSD 스키마에 지정된 기본값을 가진 특성을 선택하지 않습니다.

<xs:attribute name="new" type="xs:string" default="error" /> 

XML에 명시 적으로 설정된 속성 만 선택합니다. XSD에서 자동으로 기본값을 가져 오는 방법은 무엇입니까?

+0

이 내용은 DTD 스키마의 일부가 아닌 이유를 설명합니다. http://msdn.microsoft.com/en-us/magazine/cc302158.aspx – MethodMan

답변

2

모든 것이 제대로 작동하고 기본 속성을 읽었습니다. 그러나 제가 간과 한 검증 오류가 있었기 때문에 속성이 설정되지 않았습니다.

따라서 대답은 다음과 같습니다. XML이 기본 속성보다 먼저 작동하는지 확인하십시오.

관련 문제