XmlTextWriter.WriteQualifiedName(String, String) メソッド

定義

名前空間の修飾名を書き込みます。Writes out the namespace-qualified name. このメソッドは、指定した名前空間のスコープ内にあるプレフィックスを検索します。This method looks up the prefix that is in scope for the given namespace.

public:
 override void WriteQualifiedName(System::String ^ localName, System::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

書き込むローカル名。The local name to write.

ns
String

名前に関連付ける名前空間 URI。The namespace URI to associate with the name.

例外

localNamenull または String.Empty です。localName is either null or String.Empty.

localName が、W3C の名前空間の仕様に準拠した有効な名前ではありません。localName is not a valid name according to the W3C Namespaces spec.

次の例では、XSD スキーマの一部を書き込みます。The following example writes out a portion of a XSD schema.

#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 以降では、新しい機能を利用するXmlWriterために、 XmlWriter.CreateメソッドとXmlWriterSettingsクラスを使用してインスタンスを作成することをお勧めします。Starting with the .NET Framework 2.0, we recommend that you create XmlWriter instances by using the XmlWriter.Create method and the XmlWriterSettings class to take advantage of new functionality.

たとえば、次の Microsoft Visual C# コード。For example, the following Microsoft Visual C# code:

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();  

では、次の出力が生成されます。Generates the following output:

<root xmlns:x="urn:abc">  
 <item href="#x:test"/>  
 </root>  

ns現在の既定の名前空間にマップされている場合、プレフィックスは生成されません。If ns maps to the current default namespace, no prefix is generated.

属性値を書き込むときに、が見つからない場合ns 、このメソッドはプレフィックスを生成します。When writing attribute values, this method generates a prefix if ns is not found. 要素の内容を書き込むときに、が見つからnsない場合は例外をスローします。When writing element content, it throws an exception if ns is not found.

このライターが名前空間 (Namespacesがにtrue設定されている) をサポートしている場合、このメソッドは、 XML 勧告の W3C 名前空間に従って名前が有効であることも確認します。If this writer supports namespaces (Namespaces is set to true), this method also checks that the name is valid according to the W3C Namespaces in XML recommendation.

適用対象