C#でXDocumentを使用してXMLドキュメントを作成しています。質問があります。
は
<Simple xmlns = "Example"></Simple>
に相当
<Example:Simple></Example:Simple>
?
C#でXNamespaceとXElementを使用して2番目のソリューションを取得しようとしましたが、最初に取得しただけです。
C#でXDocumentを使用してXMLドキュメントを作成しています。質問があります。
は
<Simple xmlns = "Example"></Simple>
に相当
<Example:Simple></Example:Simple>
?
C#でXNamespaceとXElementを使用して2番目のソリューションを取得しようとしましたが、最初に取得しただけです。
いいえ。
最初の例では、Example 名前空間にSimple要素を作成します (通常、名前空間は URI として表現されることに注意してください)。
2 番目の例では、(属性によって定義されているように) Example プレフィックスに関連付けられている名前空間にSimple要素を作成します。xmlns
これらは同等です:
<xml xmlns="http://example.com/myNameSpace">
<Simple></Simple>
</xml>
<xml xmlns="http://example.com/myNameSpace" xmlns:Example="http://example.com/myNameSpace">
<Example:Simple></Example:Simple>
</xml>
いいえ、しかしそれは以下と同等です:
<Example:Simple xmlns:Example="Example"></Example:Simple>
相対 URI を名前空間名として使用することはお勧めできません。この XML は、元の場所に応じて異なる名前空間を持つようになったからです。したがって、常に完全な URI を指定してください。たとえば、XML が から受信されたhttp://example.net/somePlace/someXML
場合、相対 URIExample
は に展開されるhttp://example.net/somePlace/Example
ため、完全に使用してください。
<Example:Simple xmlns:Example="http://example.net/somePlace/Example"></Example:Simple>
また
<Simple xmlns="http://example.net/somePlace/Example"></Simple>
それ以外の場合、誰かが保存した場合、C:\Documents
再度開くと次のようになります。
<Simple xmlns="file:///C|/Documents/Example"></Simple>
つまり、Simple
ここの意味は、最初にダウンロードしたときとはまったく異なります。
最初の例では、独自の名前空間が前に付いていない要素/属性に適用されるデフォルトの名前空間を定義しました。
2 番目の例では、名前空間を定義していません。
いいえ、xml 名前空間では要素名でサポートされていない文字を使用できるため、要素タグ名にそのような名前空間をプレフィックスとして付けることはできません。
次のように、名前空間プレフィックスを追加します。
<alias:Simple xmlns:alias = "Example"></alias:Simple>