- PR -

.NETでSetAttributeメソッドで xml:Lang を指定しても xml: が消える。

1
投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2004-10-28 15:04
現在、VB.NETでXMLデータを生成するプログラムを作っているのですが、XmlElement
クラスのメンバのSetAttributeメソッドで、属性 xml:lang を付加したいのですが、
やってみると xml: が消えて lang のみになってしまいます。

xml: を消えないようにするには、どのようにすればいいのでしょうか?

・出力されたデータ
<PersonNameItem lang="jp-JP">

・出力したいデータ
<PersonNameItem xml:lang="jp-JP">
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-10-28 17:08
.NET Framework クラス ライブラリ XmlAttribute.Prefix プロパティ
using System;
using System.IO;
using System.Xml;

public class Sample
{
public static void Main()
{

XmlDocument doc = new XmlDocument();
doc.LoadXml("<book xmlns:bk='urn:samples' bk:ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"</book>");

XmlElement root = doc.DocumentElement;

// Add a new attribute.
// root.SetAttribute("lang","novel");
XmlAttribute attr = root.SetAttributeNode("lang","xml");
attr.Value="novel";
attr.Prefix="xml"; //ダメ押しすます。

Console.WriteLine("Display the modified XML...");
Console.WriteLine(doc.InnerXml);
Console.ReadLine();
}

}
1

スキルアップ/キャリアアップ(JOB@IT)