Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DOM默认名称空间_Java_Dom_Namespaces_Default - Fatal编程技术网

Java DOM默认名称空间

Java DOM默认名称空间,java,dom,namespaces,default,Java,Dom,Namespaces,Default,我想使用DOM创建具有默认命名空间的XML: <?xml version="1.0" encoding="US-ASCII"?> <test xmlns="example:ns:uri" attr1="XXX" attr2="YYY"> <el>bla bla</el> </test> 我越来越 <?xml version="1.0" encoding="US-ASCII"?> <test xmlns="e

我想使用DOM创建具有默认命名空间的XML:

   <?xml version="1.0" encoding="US-ASCII"?>
<test xmlns="example:ns:uri" attr1="XXX" attr2="YYY">
  <el>bla bla</el>
</test>
我越来越

<?xml version="1.0" encoding="US-ASCII"?>
<test xmlns="example:ns:uri" ns0:attr1="XXX" xmlns:ns0="example:ns:uri" ns1:attr2="YYY" xmlns:ns1="example:ns:uri">
  <el>bla bla</el>
</test>

布拉布拉
我在jdkv6中使用标准domapi。我做错了什么? 我想在下面划线-我想使用默认名称空间,但不想使用名称空间前缀

我想使用默认名称空间,但不想使用名称空间前缀

默认名称空间声明(
xmlns=“…”
)仅适用于元素,而不适用于属性。因此,如果在名称空间中创建属性,则序列化程序必须将该名称空间URI绑定到前缀,并使用该前缀作为属性,以便准确序列化DOM树,即使相同的URI也绑定到默认的
xmlns
。不固定的属性名称总是意味着没有名称空间,所以为了生成

<?xml version="1.0" encoding="US-ASCII"?>
<test xmlns="example:ns:uri" attr1="XXX" attr2="YYY">
  <el>bla bla</el>
</test>
但这些属性不是:

rootElement.setAttributeNS(null, "attr1", "XXX");
rootElement.setAttributeNS(null, "attr2", "YYY");

谢谢你,伊恩-你的回答非常有用-我必须承认我没有意识到这个重要的事实。下面是指向XML规范的链接和另一个答案[
Element rootElement =
   resultingDOMDocument.createElementNS("example:ns:uri", "test-results-upload");
rootElement.setAttributeNS(null, "attr1", "XXX");
rootElement.setAttributeNS(null, "attr2", "YYY");