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>