我正在使用以下API来创建带有命名空间的Dom文档 我的问题是为什么我需要提出第一个论点“http://www.w3.org/2000/xmlns/” 它有某种常数吗? 当我把null我得到错误。我问它,因为它太通用了,为什么我应该把它?
rootTreeNode.setAttributeNS("http://www.w3.org/2000/xmlns/" ,"xmlns:m", "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata");
谢谢!
答案 0 :(得分:1)
以下是如何处理命名空间:
public static void main( String[] args ) throws Throwable {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware( true );
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
Element root = doc.createElement( "root" );
root.setAttribute( "xmlns:m" , "http://www.lfinance.fr/blog-rachat-credits" );
root.setAttribute( "xmlns:rt", "http://www.lfinance.fr/forum-rachat-credits" );
doc.appendChild( root );
Element elt = doc.createElement( "simple" );
elt.setAttribute( "m:FC_TargetPath" , "false" );
elt.setAttribute( "m:FC_KeepInContent", "false" );
elt.setAttribute( "rt:filterable" , "false" );
root.appendChild( doc.createTextNode( "\n\t" ));
root.appendChild( elt );
root.appendChild( doc.createTextNode( "\n" ));
TransformerFactory.newInstance().newTransformer().transform(
new DOMSource( doc ),
new StreamResult( System.out ));
}