내가 작업하고있는 응용 프로그램에는 쿼리를 위해 메모리에로드해야하는 XML 문서가 있습니다. 이렇게하려면 XmlDocument.Load(string path)
으로 전화를 걸어 왔습니다. 그러나, 나는 최근에이 방법으로 이상한 행동을 보았습니다. 요소 무시 XmlDocument.Load?
*Snip*
<Info name="name2" parent="name1" modifier="A"/>
<Info name="name2" parent="name1" modifier="B"/>
<Info name="name1" modifier="A"/>
<Info name="name1" modifier="B"/>
<Info name="name3" parent="name2" modifier="A"/>
<Info name="name3" parent="name2" modifier="B"/>
*Snip*
위의 여섯 개 항목이 :
나는 (민감한 데이터를 제거하는 편집)과 같다 생성 된 파일이 있습니다. 그러나 XmlDocument.Load
을 호출하면 첫 번째 2 개의 항목을 남겨두고 4 개의 항목 만로드됩니다. 나는 이것을 중단 점과 데이터 디버거를 통해 확인했다.
그러나, 수동으로 문서의 데이터를 재 배열 할 때 모든 데이터가 올바르게로드
*Snip*
<Info name="name1" modifier="A"/>
<Info name="name1" modifier="B"/>
<Info name="name2" parent="name1" modifier="A"/>
<Info name="name2" parent="name1" modifier="B"/>
<Info name="name3" parent="name2" modifier="A"/>
<Info name="name3" parent="name2" modifier="B"/>
*Snip*
것으로, 요소 것도 탈락되지 않는다. 내가 알 수있는 한, 문서는 잘 형성되어 있으며,로드 할 때 예외가 발생하지 않습니다. 또한 모든 항목에 인위적으로 parent
속성을 추가하면 모든 항목이 올바르게로드되지만 XML을 올바르게 이해하면 중요하지 않으며 코드의 누락 된 속성을 무효화한다는 점에 유의해야합니다. 또한 요소에 대해 지정된 네임 스페이스가 없습니다.
예상되는 동작입니까, 아니면 뭔가 빠졌습니까? 필요한 경우 자세한 내용을 제공 할 수 있습니다.
당신이 맞았습니다. 노드를 삭제하는 다른 곳에서는 관련없는 방법이있었습니다. 불일치를 발견하기 위해 코드를 사용했습니다. 감사! –