
XElement 名前空間
このガイドでは、XElement を使用してノード プレフィックスを持つ XML ドキュメントを作成する方法を説明します。
作成ノードを含む XML ドキュメントPrefix
ノード プレフィックスを使用して XML ドキュメントを作成するには、次の手順を実行します。
- ネームスペースを定義します:
1 | XNamespace ns = "http://url/for/sphinx" ;
|
ログイン後にコピー
- 要素を作成します。 prefix:
1 | XElement element = new XElement(ns + "docset" );
|
ログイン後にコピー
例外の処理
例外「System.Xml.XmlException: ':' 文字、16 進数の値」が発生した場合." 名前空間接頭辞を持つ要素を作成しようとするときは、正しい形式で名前空間を使用していることを確認してください。次に示すように、GetNamespacePrefix メソッドを使用して、指定された名前空間の正しいプレフィックスを取得します。
1 2 | XNamespace ns = XNamespace.Get( "http://url/for/sphinx" );
XElement element = new XElement(ns.GetNamespacePrefix() + "docset" );
|
ログイン後にコピー
複雑な XML ドキュメントの作成
より複雑な XML ドキュメントを作成するには、次のようにします。ネストされた要素と属性については、次の例を使用できます。
1 2 3 4 5 6 7 8 9 10 | XNamespace ns = "http://url/for/sphinx" ;
XElement container = new XElement( "container" ,
new XAttribute(XNamespace.Xmlns + "sphinx" , ns),
new XElement(ns + "docset" ,
new XElement(ns + "schema" ),
new XElement(ns + "field" , new XAttribute( "name" , "subject" )),
new XElement(ns + "field" , new XAttribute( "name" , "content" )),
new XElement(ns + "attr" ,
new XAttribute( "name" , "published" ),
new XAttribute( "type" , "timestamp" ))));
|
ログイン後にコピー
このコードは、次の XML ドキュメント:
1 2 3 4 5 6 7 8 | <container xmlns:sphinx= "http://url/for/sphinx" >
<sphinx:docset>
<sphinx:schema />
<sphinx:field name= "subject" />
<sphinx:field name= "content" />
<sphinx:attr name= "published" type= "timestamp" />
</sphinx:docset>
</container>
|
ログイン後にコピー
以上がXElement を使用して名前空間とプレフィックスを含む XML ドキュメントを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。