XmlTextWriter.WriteQualifiedName(String, String) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
네임스페이스로 한정된 이름을 작성합니다. 이 메서드는 지정된 네임스페이스의 범위에 속하는 접두사를 찾습니다.
public:
override void WriteQualifiedName(System::String ^ localName, System::String ^ ns);
public override void WriteQualifiedName (string localName, string? ns);
public override void WriteQualifiedName (string localName, string ns);
override this.WriteQualifiedName : string * string -> unit
Public Overrides Sub WriteQualifiedName (localName As String, ns As String)
매개 변수
- localName
- String
작성할 로컬 이름입니다.
- ns
- String
이름과 연결할 네임스페이스 URI 입니다.
예외
localName
가 null
또는 String.Empty
입니다.
localName
이 W3C Namespaces 사양에 따르는 유효한 이름이 아닌 경우
예제
다음 예제에서는 XSD 스키마의 일부를 작성합니다.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextWriter^ writer = nullptr;
String^ filename = "sampledata.xml";
writer = gcnew XmlTextWriter( filename, nullptr );
// Use indenting for readability.
writer->Formatting = Formatting::Indented;
// Write the root element.
writer->WriteStartElement( "schema" );
// Write the namespace declarations.
writer->WriteAttributeString( "xmlns", nullptr, "http://www.w3.org/2001/XMLSchema" );
writer->WriteAttributeString( "xmlns", "po", nullptr, "http://contoso.com/po" );
writer->WriteStartElement( "element" );
writer->WriteAttributeString( "name", "purchaseOrder" );
// Write the type attribute.
writer->WriteStartAttribute( nullptr, "type", nullptr );
writer->WriteQualifiedName( "PurchaseOrder", "http://contoso.com/po" );
writer->WriteEndAttribute();
writer->WriteEndElement();
// Write the close tag for the root element.
writer->WriteEndElement();
// Write the XML to file and close the writer.
writer->Flush();
writer->Close();
// Read the file back in and parse to ensure well formed XML.
XmlDocument^ doc = gcnew XmlDocument;
// Preserve white space for readability.
doc->PreserveWhitespace = true;
// Load the file.
doc->Load( filename );
// Write the XML content to the console.
Console::Write( doc->InnerXml );
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
private const string filename = "sampledata.xml";
public static void Main()
{
XmlTextWriter writer = null;
writer = new XmlTextWriter (filename, null);
// Use indenting for readability.
writer.Formatting = Formatting.Indented;
// Write the root element.
writer.WriteStartElement("schema");
// Write the namespace declarations.
writer.WriteAttributeString("xmlns", null,"http://www.w3.org/2001/XMLSchema");
writer.WriteAttributeString("xmlns","po",null,"http://contoso.com/po");
writer.WriteStartElement("element");
writer.WriteAttributeString("name", "purchaseOrder");
// Write the type attribute.
writer.WriteStartAttribute(null,"type", null);
writer.WriteQualifiedName("PurchaseOrder", "http://contoso.com/po");
writer.WriteEndAttribute();
writer.WriteEndElement();
// Write the close tag for the root element.
writer.WriteEndElement();
// Write the XML to file and close the writer.
writer.Flush();
writer.Close();
// Read the file back in and parse to ensure well formed XML.
XmlDocument doc = new XmlDocument();
// Preserve white space for readability.
doc.PreserveWhitespace = true;
// Load the file.
doc.Load(filename);
// Write the XML content to the console.
Console.Write(doc.InnerXml);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Private Shared filename As String = "sampledata.xml"
Public Shared Sub Main()
Dim writer As XmlTextWriter = Nothing
writer = New XmlTextWriter(filename, Nothing)
' Use indenting for readability.
writer.Formatting = Formatting.Indented
' Write the root element.
writer.WriteStartElement("schema")
' Write the namespace declarations.
writer.WriteAttributeString("xmlns", Nothing, "http://www.w3.org/2001/XMLSchema")
writer.WriteAttributeString("xmlns", "po", Nothing, "http://contoso.com/po")
writer.WriteStartElement("element")
writer.WriteAttributeString("name", "purchaseOrder")
' Write the type attribute.
writer.WriteStartAttribute(Nothing, "type", Nothing)
writer.WriteQualifiedName("PurchaseOrder", "http://contoso.com/po")
writer.WriteEndAttribute()
writer.WriteEndElement()
' Write the close tag for the root element.
writer.WriteEndElement()
' Write the XML to file and close the writer.
writer.Flush()
writer.Close()
' Read the file back in and parse to ensure well formed XML.
Dim doc As New XmlDocument()
' Preserve white space for readability.
doc.PreserveWhitespace = True
' Load the file.
doc.Load(filename)
' Write the XML content to the console.
Console.Write(doc.InnerXml)
End Sub
End Class
설명
참고
.NET Framework 2.0부터 메서드와 XmlWriterSettings 클래스를 사용하여 XmlWriter.Create 인스턴스를 만들어 XmlWriter 새 기능을 활용하는 것이 좋습니다.
예를 들어 다음 Microsoft Visual C# 코드는 다음과 같습니다.
writer.Formatting = Formatting.Indented;
writer.WriteStartElement("root");
writer.WriteAttributeString("xmlns","x",null,"urn:abc");
writer.WriteStartElement("item");
writer.WriteStartAttribute("href",null);
writer.WriteString("#");
writer.WriteQualifiedName("test","urn:abc");
writer.WriteEndAttribute();
writer.WriteEndElement();
writer.WriteEndElement();
writer.Close();
다음 출력이 생성됩니다.
<root xmlns:x="urn:abc">
<item href="#x:test"/>
</root>
현재 기본 네임스페이스에 매핑되는 경우 ns
접두사는 생성되지 않습니다.
특성 값을 작성할 때 이 메서드는 접두사(없는 경우 ns
)를 생성합니다. 요소 콘텐츠를 작성할 때 찾을 수 없으면 ns
예외가 throw됩니다.
이 작성기가 네임스페이스(Namespaces 로 설정 true
됨)를 지원하는 경우 이 메서드는 XML 권장 사항의 W3C 네임스페이스에 따라 이름이 유효한지도 확인합니다.