ホームページ >バックエンド開発 >C++ >XElement を使用して名前空間とプレフィックスを含む XML ドキュメントを作成する方法

XElement を使用して名前空間とプレフィックスを含む XML ドキュメントを作成する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-31 07:04:12513ブラウズ

How to Use XElement to Create XML Documents with Namespaces and Prefixes?

XElement 名前空間

このガイドでは、XElement を使用してノード プレフィックスを持つ XML ドキュメントを作成する方法を説明します。

作成ノードを含む XML ドキュメントPrefix

ノード プレフィックスを使用して XML ドキュメントを作成するには、次の手順を実行します。

  1. ネームスペースを定義します:
XNamespace ns = "http://url/for/sphinx";
  1. 要素を作成します。 prefix:
XElement element = new XElement(ns + "docset");

例外の処理

例外「System.Xml.XmlException: ':' 文字、16 進数の値」が発生した場合." 名前空間接頭辞を持つ要素を作成しようとするときは、正しい形式で名前空間を使用していることを確認してください。次に示すように、GetNamespacePrefix メソッドを使用して、指定された名前空間の正しいプレフィックスを取得します。

XNamespace ns = XNamespace.Get("http://url/for/sphinx");
XElement element = new XElement(ns.GetNamespacePrefix() + "docset");

複雑な XML ドキュメントの作成

より複雑な XML ドキュメントを作成するには、次のようにします。ネストされた要素と属性については、次の例を使用できます。

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 ドキュメント:

<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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。