2016-01-31 3 views
2

Я пытаюсь добиться следующего:положить узел внутри узла

<EMOTable1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.europe.eu/tad.xsd"> 
    <RED> 
    <ALE>B00009</ALE> 
    </RED> 

Я до сих пор записано следующее, но им не поставил ALE внутри RED со значением B00009

I до сих пор получили следующее:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder builder = factory.newDocumentBuilder(); 
    Document document = builder.newDocument(); 
    Element rootElement = document.createElement("EMOTable1"); 


    rootElement.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
    rootElement.setAttribute("xmlns", "http://www.europe.eu/tad.xsd"); 
    document.appendChild(rootElement);//append the root element to the doc 

    Element REI = document.createElement("RED");//create a new element 
     rootElement.appendChild(REI);//append this new element called REI 
     Node node = document.createElement("B00009"); 

REI.appendChild (узел); // поместить содержимое в новый элемент

+1

Я не вижу, где вы создаете Element ALE, вы должен создать этот. Вы добавляете элемент ALE в качестве дочернего элемента REI. Наконец, вы добавляете свой узел в элемент ALE. –

+0

Также обратите внимание, что ваш XML использует пространства имен, поэтому вы должны использовать построитель документов, поддерживающих пространство имен, и использовать 'createElementNS' для создания своих элементов в этом целевом пространстве имен. –

ответ

2

Отсутствует создание вашего элемента ALE.

Таким образом, Вы должны создать этот элемент, содержащий текст B00009 и добавить дочерний элемент вашего REI:

EX:

Element ALE = document.createElement("ALE"); 
Text codeALE = document.createTextNode("B00009"); 
ALE.appendChild(codeALE); 
REI.appendChield(ALE); 
+0

Спасибо за пример - я пытался создать новый узел, который был неправ. Это помогло – Ingram

Смежные вопросы