2014-02-11 6 views
1

Я хочу добавить атрибут к существующему xml, используя синтаксический анализ. Пожалуйста, предложите.Как добавить атрибут к существующему xml с помощью анализатора stax

Ниже приведен код snippnet, который мне нужно добавить.

<un:UtranCell id="RNC17-1-1"> 

Это как выглядеть, как следовать после добавления

<un:UtranCell id="RNC17-1-1" modifier="delete"> 

Ниже описана snippnet код я попробовал. но я не могу добавить атрибут

try {    
     File fXmlFile = new File("/home/xgeoraj/bcgImportFiles/imports/UtranCell.xml"); 
     DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
     Document doc = dBuilder.parse(fXmlFile); 
     System.out.println("Root element :" + doc.getDocumentElement().getNodeName()); 
     NodeList nList = doc.getElementsByTagName("un:UtranCell"); 
     for (int temp = 0; temp < nList.getLength(); temp++) { 
     Node nNode = nList.item(temp); 
     System.out.println("\nCurrent Element :" + nNode.getNodeName()); 
     if (nNode.getNodeType() == Node.ELEMENT_NODE) { 
      Element eElement = (Element) nNode; 
      System.out.println("UtranCell id is: " + eElement.getAttribute("id")); 
     } 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

Ниже приведен XML-файл, в котором мне нужно его добавить.

<?xml version="1.0" encoding="UTF-8"?> 
<bulkCmConfigDataFile xmlns:un="utranNrm.xsd" xmlns:xn="genericNrm.xsd" xmlns:gn="geranNrm.xsd" xmlns="configData.xsd" xmlns:es="EricssonSpecificAttributes.14.02.xsd"> 
    <fileHeader fileFormatVersion="32.615 V4.5" vendorName="Ericsson"/> 
    <configData dnPrefix="Undefined"> 
     <xn:SubNetwork id="ONRM_ROOT_MO_R"> 
      <xn:SubNetwork id="RNC17"> 
       <xn:MeContext id="RNC17"> 
        <xn:ManagedElement id="1"> 
         <un:RncFunction id="1"> 
          <un:UtranCell id="RNC17-1-1" modifier="delete"> 
+1

Код отсутствует. – DanielBarbarian

+0

У меня нет кода .. Мне нужен код для добавленного модификатора = "удалить" в существующий xml-файл. Пожалуйста, помогите – user3297076

+0

Я на самом деле не имел в виду исходный код в этом случае, но раньше также отсутствовал «xml-код». В любом случае это может помочь нам помочь вам, если вы предоставите некоторый исходный код попыток, которые вы пробовали, так как SO просит о помощи, когда ваши собственные попытки потерпели неудачу. Взятые с помощью SO-справки: «Вопросы, требующие кода, должны демонстрировать минимальное понимание решаемой проблемы. Включите попытки решения, почему они не работают и ожидаемые результаты». – DanielBarbarian

ответ

0

Добавление атрибута к элементу вы извлеченной что то, что я думаю, что вы хотите сделать, это делается путем установки элемента. вынимая if-инструкцию.

if (nNode.getNodeType() == Node.ELEMENT_NODE) { 
    Element eElement = (Element) nNode; 
    System.out.println("UtranCell id is: " + eElement.getAttribute("id")); 
    eElement.setAttribute("modifier", "delete"); // <-- This is the added line 
} 

Для справки см. javadoc for Element.

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