如何创建多级xml文件

时间:2015-09-21 11:29:21

标签: java xml file document

我在查找有关在xml文件中创建多级标记的信息时遇到了麻烦 例如,我想要下一个结构

<UserCards>
  <UserCard userCardId="171">
   <userName>somename</userName>
   <userSurname>somesurname</userSurname>
   <userAge>24</userAge>
   <userAdress>someadress</userAdress>
   <userPhone>223334455</userPhone>
     <CurrentBooks>
       <booName>someBookName</bookName>
     </CurrentBooks>
  </UserCard>
</UserCards>

我可以创建简单的一级xml但是如何添加新的呢?

 DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
                DocumentBuilder docBulder = docFactory.newDocumentBuilder();

                //root mainElement
                Document doc = docBulder.newDocument();
                Element rootElement = doc.createElement("UserCards");
                doc.appendChild(rootElement);

                //root Book
                Element UserCard = doc.createElement("UserCard");
                rootElement.appendChild(UserCard);
                ...  
                ...
                //write in a XMLFile
                TransformerFactory transformerFactory = TransformerFactory.newInstance();
                Transformer transformer = transformerFactory.newTransformer();
                DOMSource source = new DOMSource(doc);
                StreamResult result = new StreamResult(new File("Test/UserCards.xml"));

2 个答案:

答案 0 :(得分:1)

在我看来,就像你自己回答一样...... 您可以将元素追加到任何元素,而不仅仅是根。 您可以通过调用python manage.py makemigrations main 来创建所有元素 并附加到您选择的父元素:

doc.createElement("name")

答案 1 :(得分:1)

试试这个

            Element rootElement = doc.createElement("UserCards");
            doc.appendChild(rootElement);

            //root Book
            Element UserCard = doc.createElement("UserCard");
            UserCard.setAttribute("userCardId" , "171");
            Element userSurname = doc.createElement("userSurname");
            UserCard.appendChild(userSurname);

            Element userAge = doc.createElement("userAge");
            UserCard.appendChild(userAge);
            Element userAdress = doc.createElement("userAdress");
            UserCard.appendChild(userAdress);
            Element userPhone = doc.createElement("userPhone");
            UserCard.appendChild(userPhone);
            Element CurrentBooks = doc.createElement("CurrentBooks");
            Element booKName = doc.createElement("booKName");
            CurrentBooks.appendChild(booKName);
            UserCard.appendChild(CurrentBooks);
            rootElement.appendChild(UserCard);