Как удалить пространство имен из элемента XML с помощью C # - PullRequest
3 голосов
/ 08 июня 2010

У меня есть XML, где у меня есть пространство имен _spreadSheetNameSapce. В моем коде я должен добавить новый элемент с атрибутом, связанным с именем пространства, и я делаю это следующим образом

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

Правильно создает XElement, но вставляет запись xmlns="" также в тот же элемент. Я не хочу, чтобы этот элемент был создан. Как создать XElement без пустого пространства имен или как удалить пространство имен после создания элемента?

1 Ответ

9 голосов
/ 08 июня 2010

Ваш код в настоящее время создает элемент без пространства имен. Предположительно, это внутри элемента, который равен в пространстве имен, поэтому он добавляет часть xmlns="". Если вы хотите, чтобы оно оставалось в одном и том же пространстве имен, просто используйте:

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

Просто еще раз подчеркну, что речь идет не о удалении пространства имен, а о помещении элемента в то же пространство имен, что и "default", унаследованное от его родителя.

...