2010-06-08 3 views
3

XML이 있는데 이름 공간이 _spreadSheetNameSapce입니다. 내 코드에서 나는 이름 공간과 관련된 속성을 가진 새로운 요소를 추가하고 난이 제대로 XElement을 만드는 다음C#을 사용하여 XML 요소에서 네임 스페이스를 제거하는 방법

XElement customHeading = new XElement("Row", 
    new XAttribute(_spreadSheetNameSapce + "AutoFitHeight", "0")); 

처럼 그 일을하고 있지만, 같은 요소도 xmlns="" 항목을 삽입한다. 나는 그 요소가 창조되기를 원하지 않는다. 빈 이름 공간없이 XElement을 만들려면 어떻게해야합니까? 아니면 요소를 만든 후에 네임 스페이스를 제거 할 수 있습니까?

+0

가능한 중복 [C#을 사용하여 XML에서 모든 네임 스페이스를 제거하는 방법] (http://stackoverflow.com/questions/987135/how-to-remove-all-namespaces-from-xml-with-c) –

+1

문제가 발견되면 코드는 이어야합니다. 새 XElement (_SpreadSheetNameSpace + "Row".... – Nair

답변

9

귀하의 코드는 현재 네임 스페이스를 생성하지 않고 있습니다. 아마도 이것은 이 부분을 추가하는 이유 인 네임 스페이스에서 인 요소 내에 있다고 가정합니다. 당신은 그냥 같은 네임 스페이스 내에서 유지하려면, 그냥 사용

XElement customHeading = new XElement(_spreadSheetNameSapce + "Row", 
     new XAttribute(_spreadSheetNameSapce + "AutoFitHeight", "0")); 

그냥 다시 강조하고, 네임 스페이스을 제거하지에 대한 이 - 그것은 같은 공간에 요소를 넣어 관하여은 " default "는 부모로부터 상속됩니다.

관련 문제