2013-07-23 15 views
5

JavaScriptを使用してXMLを作成する必要があります。より困難なことの1つは、ノードのテキストコンテンツにXML修飾名を設定する必要があることです。つまり、myns:myelementなどのローカル名と接頭辞です。JavaScriptでXML名前空間ノードを作成する方法は?

XMLドキュメントに、プレフィックスをバインドする名前空間の他の要素や属性が含まれていないことがあります。だから私は接頭辞を定義するために、囲み要素に名前空間ノード(xmlns)を追加する必要があります。たとえば、 -

<myElement xmlns:myprefix="http://something">myprefix:foo</myElement> 

xmlns名前空間ノードをJavaScriptに追加する方法はありません。私は希望名前空間と任意の接頭辞とそうでない場合は、不要な属性を作成してい

 // Hacky way to get a namespace prefix definition. TODO: can we do something nicer? 
     var prefix = "ixe"; 
     requestElement.setAttributeNS(inputTypes[0].namespaceURL, prefix + ":" + "def", ""); 
     inputElement.textContent = prefix + ":" + inputTypes[0].localName; 

- :現在、私は次のひどいハックを持っています。これにより、生成されたドキュメントにxmlns名前空間ノードがあり、名前空間のプレフィックスを定義します。

最新のFireFoxとChromeでは、ではなく、inputElement.setAttribute("xmlns:" + PREFIX, inputType.namespaceUri);です。しかし、私はブラウザに中立的な解決策を求めています。

しかし、私はずっとそのダミー属性を作成していないと思います。確かに、名前空間ノードを明示的に作成することは可能でなければなりません。私は何を逃したのですか?

+2

こんにちは、あなたがこのhttp://stackoverflow.com/questions/9160418/xml-node-add-an-attribute-with-a-namespaceを見てすることができるかもしれません –

答えて

関連する問題