2013-03-19 55 views
1

我需要在子項和子項中設置一個名稱空間,但是當我爲同一個名稱空間賦予屬性時,子子項不帶名稱空間。子項和子子項中的名稱空間相同(JDOM2)

我需要類似的東西:

<?xml version="1.0" encoding="UTF-8"?> 
<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"> 
    <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> 
     <infNFe versao="2.00" Id="NFe35120810609770000190550010000011151000011155"> 
      ... 

但我的代碼生成只有這個:

<?xml version="1.0" encoding="UTF-8"?> 
<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"> 
    <NFe> 
     <infNFe versao="2.00" Id="NFe35120810609770000190550010000011151000011155"> 
      ... 

生成的XML的這部分代碼:

Document doc = new Document(); 
Namespace portal = Namespace.getNamespace("http://www.portalfiscal.inf.br/nfe"); 

Element tagNfeProc = new Element("nfeProc", portal); 
tagNfeProc.setAttribute("versao", "2.00"); 

Element tagNFe = new Element("NFe", portal); 

... 

tagNfeProc.getChildren().add(tagNFe); 

doc.setRootElement(tagNfeProc); 
+0

你試圖簡單地使用:tagNFe.setAttribute( 「的xmlns」, 「http://www.portalfiscal.inf.br/nfe」 )? – drewich 2013-05-05 22:24:05

回答

0

如果你真的想添加它,你必須手動完成,使用前面提到的'setAttribute'方法。因爲該名稱空間已經在更高級別(在您的示例中爲頂級)上聲明,並且它將被用於(繼承)在()中,因此該名稱空間不會再需要名稱空間屬性。整個街區就在你宣佈的地方。

一點點搜索後,簡要說明有關 XML namespaces :)