Я использую XmlDocument и XmlNode для работы с XML-файлом. Скажем, я хочу добавить действительный узел с именем «Language» в корень, я использую такой код:
Dim languageNode As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "Language", Nothing)
languageNode.InnerText = "en-US"
root.AppendChild(languageNode)
где xmlDoc является объектом XmlDocument и уже загружен. Однако в xml-файле после операции он выглядит примерно так:
<Language xmlns="">en-US</Language>
И это не проходит проверку. Есть ли способ избавиться от пространства имен? Спасибо!
Обновление:
Я редактирую файл .rdlc, который определяет локальный отчет, и использую формат xml. Часть файла выглядит так:
<?xml version="1.0" encoding="utf-16"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition"
xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<Language xmlns="">en-US</Language>
...
Обычно не должно быть так много используемых пространств имен, но я генерирую его из xslt. Но узел языка добавляется после создания этого файла. Мой код выглядит так:
Dim xmlRdlc As New XmlDocument()
xmlRdlc.Load(file)
Dim root As XmlNode = xmlRdlc.DocumentElement()
Dim languageNode As XmlNode = xmlRdlc.CreateNode(XmlNodeType.Element, "Language", Nothing)
languageNode.InnerText = "en-US"
root.AppendChild(languageNode)
xmlRdlc.Save(file)
Итак, как мне сделать, чтобы добавить нужный узел следующим образом:
<Language>en-US</Language>