XmlAttributes.Xmlns プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
XmlSerializerNamespaces オブジェクトを返すメンバーを格納するオブジェクトがオーバーライドされたときに、すべての名前空間宣言を保持するかどうかを示す値を取得または設定します。
public:
property bool Xmlns { bool get(); void set(bool value); };
public bool Xmlns { get; set; }
member this.Xmlns : bool with get, set
Public Property Xmlns As Boolean
プロパティ値
名前空間宣言を保持する場合は true
。それ以外の場合は false
。
例
次の例には、という名前 Student
のクラスが含まれています。 このクラスには、オブジェクトを返す名前 MyNamespaces
のメンバーが XmlSerializerNamespaces 含まれています。 この例では、クラスの XmlAttributes インスタンスに追加されるオブジェクトを XmlAttributeOverrides 作成します。 このプロパティはXmlnstrue
、オブジェクトのXmlSerializerシリアル化がオーバーライドされたときに名前空間を保持するように指示しますStudent
。
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Student
{
public:
[XmlAttributeAttribute]
String^ Name;
[XmlNamespaceDeclarationsAttribute]
XmlSerializerNamespaces^ myNamespaces;
};
void SerializeStudent( String^ filename );
void DeserializeStudent( String^ filename );
int main()
{
SerializeStudent( "Student.xml" );
DeserializeStudent( "Student.xml" );
}
void SerializeStudent( String^ filename )
{
XmlAttributes^ atts = gcnew XmlAttributes;
// Set to true to preserve namespaces,
// or false to ignore them.
atts->Xmlns = true;
XmlAttributeOverrides^ xover = gcnew XmlAttributeOverrides;
// Add the XmlAttributes and specify the name of the element
// containing namespaces.
xover->Add( Student::typeid, "myNamespaces", atts );
// Create the XmlSerializer using the
// XmlAttributeOverrides object.
XmlSerializer^ xser = gcnew XmlSerializer( Student::typeid,xover );
Student^ myStudent = gcnew Student;
XmlSerializerNamespaces^ ns = gcnew XmlSerializerNamespaces;
ns->Add( "myns1", "http://www.cpandl.com" );
ns->Add( "myns2", "http://www.cohowinery.com" );
myStudent->myNamespaces = ns;
myStudent->Name = "Student1";
FileStream^ fs = gcnew FileStream( filename,FileMode::Create );
xser->Serialize( fs, myStudent );
fs->Close();
}
void DeserializeStudent( String^ filename )
{
XmlAttributes^ atts = gcnew XmlAttributes;
// Set to true to preserve namespaces, or false to ignore them.
atts->Xmlns = true;
XmlAttributeOverrides^ xover = gcnew XmlAttributeOverrides;
// Add the XmlAttributes and specify the name of the
// element containing namespaces.
xover->Add( Student::typeid, "myNamespaces", atts );
// Create the XmlSerializer using the
// XmlAttributeOverrides object.
XmlSerializer^ xser = gcnew XmlSerializer( Student::typeid,xover );
FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
Student^ myStudent;
myStudent = safe_cast<Student^>(xser->Deserialize( fs ));
fs->Close();
// Use the ToArray method to get an array of
// XmlQualifiedName objects.
array<XmlQualifiedName^>^qNames = myStudent->myNamespaces->ToArray();
for ( int i = 0; i < qNames->Length; i++ )
{
Console::WriteLine( "{0}:{1}", qNames[ i ]->Name, qNames[ i ]->Namespace );
}
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
public class Student
{
[XmlAttributeAttribute]
public string Name;
[XmlNamespaceDeclarationsAttribute]
public XmlSerializerNamespaces myNamespaces;
}
public class Run
{
public static void Main()
{
Run test = new Run();
test.SerializeStudent("Student.xml");
test.DeserializeStudent("Student.xml");
}
public void SerializeStudent(string filename)
{
XmlAttributes atts = new XmlAttributes();
// Set to true to preserve namespaces,
// or false to ignore them.
atts.Xmlns=true;
XmlAttributeOverrides xover = new XmlAttributeOverrides();
// Add the XmlAttributes and specify the name of the element
// containing namespaces.
xover.Add(typeof(Student),"myNamespaces", atts);
// Create the XmlSerializer using the
// XmlAttributeOverrides object.
XmlSerializer xser = new XmlSerializer(typeof (Student),xover);
Student myStudent = new Student();
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("myns1", "http://www.cpandl.com");
ns.Add("myns2", "http://www.cohowinery.com");
myStudent.myNamespaces= ns;
myStudent.Name= "Student1";
FileStream fs = new FileStream(filename,FileMode.Create);
xser.Serialize(fs,myStudent);
fs.Close();
}
private void DeserializeStudent(string filename)
{
XmlAttributes atts = new XmlAttributes();
// Set to true to preserve namespaces, or false to ignore them.
atts.Xmlns=true;
XmlAttributeOverrides xover = new XmlAttributeOverrides();
// Add the XmlAttributes and specify the name of the
// element containing namespaces.
xover.Add(typeof(Student),"myNamespaces", atts);
// Create the XmlSerializer using the
// XmlAttributeOverrides object.
XmlSerializer xser =
new XmlSerializer(typeof (Student),xover);
FileStream fs = new FileStream(filename,FileMode.Open);
Student myStudent;
myStudent= (Student) xser.Deserialize(fs);
fs.Close();
// Use the ToArray method to get an array of
// XmlQualifiedName objects.
XmlQualifiedName[] qNames= myStudent.myNamespaces.ToArray();
for(int i = 0; i < qNames.Length;i++)
{
Console.WriteLine("{0}:{1}",
qNames[i].Name,qNames[i].Namespace);
}
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Student
<XmlAttributeAttribute()> _
Public Name As String
<XmlNamespaceDeclarationsAttribute()> _
Public myNamespaces As XmlSerializerNamespaces
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeStudent("Student_v.xml")
test.DeserializeStudent("Student_v.xml")
End Sub
Public Sub SerializeStudent(filename As String)
Dim atts As New XmlAttributes()
' Set to true to preserve namespaces, or false to ignore them.
atts.Xmlns = True
Dim xover As New XmlAttributeOverrides()
' Add the XmlAttributes and specify the name of
' the element containing namespaces.
xover.Add(GetType(Student), "myNamespaces", atts)
' Create the XmlSerializer using the
' XmlAttributeOverrides object.
Dim xser As New XmlSerializer(GetType(Student), xover)
Dim myStudent As New Student()
Dim ns As New XmlSerializerNamespaces()
ns.Add("myns1", "http://www.cpandl.com")
ns.Add("myns2", "http://www.cohowinery.com")
myStudent.myNamespaces = ns
myStudent.Name = "Student1"
Dim fs As New FileStream(filename, FileMode.Create)
xser.Serialize(fs, myStudent)
fs.Close()
End Sub
Private Sub DeserializeStudent(filename As String)
Dim atts As New XmlAttributes()
' Set to true to preserve namespaces, or false to ignore them.
atts.Xmlns = True
Dim xover As New XmlAttributeOverrides()
' Add the XmlAttributes and specify the name
' of the element containing namespaces.
xover.Add(GetType(Student), "myNamespaces", atts)
' Create the XmlSerializer using the
' XmlAttributeOverrides object.
Dim xser As New XmlSerializer(GetType(Student), xover)
Dim fs As New FileStream(filename, FileMode.Open)
Dim myStudent As Student
myStudent = CType(xser.Deserialize(fs), Student)
fs.Close()
' Use the ToArray method to get an array
' of XmlQualifiedName objects.
Dim qNames As XmlQualifiedName() = _
myStudent.myNamespaces.ToArray()
Dim i As Integer
For i = 0 To qNames.Length - 1
Console.WriteLine("{0}:{1}", _
qNames(i).Name, qNames(i).Namespace)
Next i
End Sub
End Class