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 클래스입니다. Xmlns 속성이 true
, 지시를 XmlSerializer 네임 스페이스를 유지 하기 위해 때의 serialization를 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