5

次の要素を含むXMLドキュメントをJavaで作成しようとしています。

<project xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" 
         xmlns:acme="http://www.acme.com/schemas"
         color="blue">

プロジェクトノードを作成する方法を知っています。また、を使用して色属性を設定する方法も知っています

element.setAttribute("color", "blue")

xmlns属性とxmlns:acme属性をsetAttribute()を使用して同じ方法で設定しますか、それとも名前空間属性であるため、特別な方法で設定しますか?

4

5 に答える 5

12

私はあなたが使用しなければならないと信じています:

element.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:acme", "http://www.acme.com/schemas");
于 2012-08-03T15:17:30.307 に答える
1

以下のコードが質問に役立つとは思いません!

myDocument.createElementNS("http://www.imsglobal.org/xsd/ims_qtiasiv1p2","project");

これにより、以下のような要素が作成されます (DOM を使用)

<http://www.imsglobal.org/xsd/ims_qtiasiv1p2:project>

したがって、これは名前空間属性を要素に追加しません。したがって、DOMを使用して次のようなことができます

Element request = doc.createElement("project");

Attr attr = doc.createAttribute("xmlns");
attr.setValue("http://www.imsglobal.org/xsd/ims_qtiasiv1p2");

request.setAttributeNode(attr);

したがって、次のように最初の属性が設定されます。同じ方法で複数の属性を設定できます

<project xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2>
于 2013-04-16T04:34:07.263 に答える
0

要素を作成するときに名前空間を指定するだけです。例えば:

myDocument.createElementNS("http://www.imsglobal.org/xsd/ims_qtiasiv1p2","project");

次に、Java DOM ライブラリが名前空間の宣言を処理します。

于 2012-08-03T15:20:11.450 に答える