简体   繁体   English

如何创建多级xml文件

[英]How to create multi level xml file

I have a trouble in finding info about creating a multi level tags in xml file for example i want next structure 我在查找有关在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>

I can create simple one level xml but how can I add new one? 我可以创建简单的一级xml,但是如何添加新的一级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"));

seems to me like you answered it yourself.... You can append elements to any element, not just the root. 在我看来,就像您自己回答了一样。...您可以将元素追加到任何元素,而不仅仅是根。 You create all Elements by calling doc.createElement("name") and append to the parent element of your choice: 您可以通过调用doc.createElement("name")创建所有Elements,并将其追加到您选择的父元素上:

Elmenet userName = doc.createElement("userName");
Text userNameText = doc.createTextNode("somename");
userName.appendChild(userNameText);
UserCard.appendChild(userName);

Try this 尝试这个

            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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM