我正在尝试使用JAVA在根元素中创建一个XML DOM文件。
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1"
xmlns:uml="http://schema.omg.org/spec/UML/2.1"
xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:cns="http://www.w3c.org/2016/XML/cns">
<!--- lots of data -->
</xmi:XMI>
我已经尝试了几种方法,并且没有找到正确的方法。
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
Document doc = dbf.newDocumentBuilder().newDocument();
Element root = doc.createElementNS("http://schema.omg.org/spec/UML/2.1", "xmi:XMI");
doc.appendChild(root);
创建我的第一个命名空间定义。
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmlns:xmi="http://schema.omg.org/spec/XMI/2.1">
<!--- some data -->
</xmi:XMI>
但是如何创造其他人呢?我遇到了root.setAttributeNS("http://schema.omg.org/spec/UML/2.1", "uml:Model", null);
,但后来才得到
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI
xmlns:uml="http://schema.omg.org/spec/UML/2.1"
uml:Model=""
xmlns:xmi="http://schema.omg.org/spec/XML/2.1"/>
<!--- some data -->
</xmi:XMI>
uml:Model
属性不应该存在。任何想法?
答案 0 :(得分:1)
这似乎可行:
root.setAttribute("xmlns:uml", "http://schema.omg.org/spec/UML/2.1");
root.setAttribute("xmlns:cns", "http://www.w3c.org/2016/XML/cns");
即只需将它们设置为普通属性即可。