次の方法で共有


XmlTextWriter.WriteQualifiedName メソッド

名前空間の限定名を書き込みます。このメソッドは、指定した名前空間のスコープ内にあるプリフィックスを検索します。

Overrides Public Sub WriteQualifiedName( _
   ByVal localName As String, _   ByVal ns As String _)
[C#]
public override void WriteQualifiedName(stringlocalName,stringns);
[C++]
public: void WriteQualifiedName(String* localName,String* ns);
[JScript]
public override function WriteQualifiedName(
   localName : String,ns : String);

パラメータ

  • localName
    書き込むローカル名。
  • ns
    名前に関連付ける名前空間 URI。

例外

例外の種類 条件
ArgumentException localName が null 参照 (Visual Basic では Nothing) または String.Empty です。

localName が、W3C の名前空間の仕様に準拠した有効な名前ではありません。

解説

たとえば、次に示すような 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 が見つからないと、このメソッドは例外をスローします。

このライタが名前空間をサポートしている場合 (Namespacestrue に設定)、このメソッドは、その名前が W3C 勧告『Namespaces in XML』(http://www.w3.org/TR/REC-xml-names) に準拠した有効な名前かどうかも確認します。

使用例

[Visual Basic, C#, C++] XSD スキーマの一部を書き込む例を次に示します。

 
Option Explicit
Option Strict

Imports System
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, "https://contoso.com/po")
        
        writer.WriteStartElement("element")
        
        writer.WriteAttributeString("name", "purchaseOrder")
        
        ' Write the type attribute.
        writer.WriteStartAttribute(Nothing, "type", Nothing)
        writer.WriteQualifiedName("PurchaseOrder", "https://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 'Main 
End Class 'Sample


[C#] 
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,"https://contoso.com/po");

     writer.WriteStartElement("element");

     writer.WriteAttributeString("name", "purchaseOrder");

     // Write the type attribute.
     writer.WriteStartAttribute(null,"type", null);
     writer.WriteQualifiedName("PurchaseOrder", "https://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);

  }

}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;


int main()
{
     XmlTextWriter* writer = 0;
     String* filename = S"sampledata.xml";

     writer = new XmlTextWriter (filename, 0);
     // Use indenting for readability.
     writer->Formatting = Formatting::Indented;
        
     // Write the root element.
     writer->WriteStartElement(S"schema");

     // Write the namespace declarations.
     writer->WriteAttributeString(S"xmlns", 0,S"http://www.w3.org/2001/XMLSchema");
     writer->WriteAttributeString(S"xmlns",S"po",0,S"https://contoso.com/po");

     writer->WriteStartElement(S"element");

     writer->WriteAttributeString(S"name", S"purchaseOrder");

     // Write the type attribute.
     writer->WriteStartAttribute(0,S"type", 0);
     writer->WriteQualifiedName(S"PurchaseOrder", S"https://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);

}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

XmlTextWriter クラス | XmlTextWriter メンバ | System.Xml 名前空間